clickable_add

使用此函数,您可以创建一个自定义的、可点击的图标,作为游戏画布之外但在浏览器窗口内的“按钮”。 该函数将返回一个 ID 值,该值必须存储在一个变量中,以便在引用新可点击对象的所有其他按钮函数中使用。 此函数对于防止浏览器在点击按钮时创建弹出窗口非常有用,因为这一切都是通过 GameMaker 本身完成的。

您必须首先设置相对于浏览器窗口(左上角)的 (0,0) 的位置,然后为您希望按钮图标具有的精灵提供纹理页面条目(请参阅: sprite_get_tpe())。 然后,您可以指定要打开的 URL 或要打开或运行的脚本(来自 GameMaker 的资源浏览器)。 当您使用 open() 方法时,您指定的“目标”参数与标准 JavaScript“name”值相同(请注意,除“_self”之外的所有参数都可能导致浏览器阻塞,或询问 user 如果他们希望允许它)并且“params”参数与 JavaScript“specs”参数相同,用于控制新窗口/选项卡应显示的属性(并非所有浏览器都支持所有函数)。 如果您使用图标运行内部脚本,最后两个参数可以保留为空字符串“”。

有效的目标是:

目标描述
_blankOpens the linked document in a new window or tab.
_selfOpens the linked document in the same frame as it was clicked (this is default).
_parentOpens the linked document in the parent frame.
_topOpens the linked document in the full body of the window.

 

有效参数如下:

参数描述
'height=[px]'The height of the window, with the minimum value being 100.
'width=[px]'The width of the window, with the minimum value being 100.
'left=[px]'The left position of the window.
'top=[px]'The top position of the window (IE only).
'location=[boolean]'Whether or not to display the address field (default is 1).
'menubar=[boolean]'Whether or not to display the menu bar (default is 1).
'resizable=[boolean]'Whether or not the window is resizable (default is 1).
'scrollbars=[boolean]'Whether or not to display scroll bars (default is 1).
'status=[boolean]'Whether or not to add a status bar (default is 1).
'titlebar=[boolean]'Whether or not to display the title bar. This is ignored unless the calling application is an HTML Application or a trusted dialog box (default is 1);
'toolbar=[boolean]'Whether or not to display the browser toolbar (default is yes).


同样值得注意的是,如果你传入的URL参数是一个脚本函数的名称(例如:它不是以“http://”开头),并且脚本名为gmcallback_*,那么你可以直接得到一个html5事件的提要。GameMaker 脚本函数名如果以gmcallback_开头,则不会进行混淆。

 

语法:

clickable_add(x, y, tpe, url, target, params);

参数类型描述
xReal窗口中的 x 位置。
yReal窗口中的 y 位置。
tpeTexture Page Entry要使用的精灵的纹理页面条目。
urlString要链接到的URL(网站地址),或要运行的脚本。
targetString这是打开URL的目标区域(参见描述)。
paramsString图标的各种参数(参见说明)。

 

返回:

Clickable ID

 

例子:

home_but = clickable_add(32, 32, sprite_get_tpe(spr_MS_Home, 0), "http://macsweeney_games.com", "_blank", "width=700, height=500, menubar=0, toolbar=0, scrollbars=0");

上面的代码在游戏画布运行的页面(32,32)的位置创建了一个可点击的DOM图标。该图标使用从纹理页面引用的精灵“spr_MS_Home”,当单击该图标时,将为指定的URL和已定义的窗口属性打开一个新窗口。