clickable_add


语法:

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


参数 描述
x 窗口中的 x 位置
y 窗口中的 y 位置
tpe 要使用的精灵的纹理页条目(使用 sprite_get_tpe)。
url 要链接的 URL(网站地址)或要运行的脚本。
target 这是打开 URL 的目标区域(请参阅说明)。
params 图标的各种参数(参见说明)。


返回: Real(实数)


描述

使用此功函数,你可以创建一个自定义的可单击图标,该图标充当游戏画布外部的 “按钮”,但在浏览器窗口内。该函数将返回一个 id 值,该值必须存储在一个变量中,以便在引用新图标的所有其他按钮函数中使用。此函数对于防止浏览器在单击按钮时创建弹出窗口非常有用,因为它通过 GameMaker Studio 2 本身完成。

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

有效目标是:

目标 描述
_blank 在新窗口或选项卡中打开链接的文档。
_self 在单击的框架中打开链接的文档(这是默认设置)。
_parent 在父框架中打开链接的文档。
_top 在窗口的整个主体中打开链接的文档。

有效的参数是:

参数 描述
'height=[px]' 窗口的高度,最小值为 100。
'width=[px]' 窗口的宽度,最小值为 100。
'left=[px]' 窗口的左侧位置。
'top=[px]' 窗口的顶部位置(仅限 IE)。
'location=[boolean]' 是否显示地址字段(默认为 1)。
'menubar=[boolean]' 是否显示菜单栏(默认为 1)。
'resizable=[boolean]' 窗口是否可调整大小(默认值为 1)。
'scrollbars=[boolean]' 是否显示滚动条(默认为 1)。
'status=[boolean]' 是否添加状态栏(默认为 1)。
'titlebar=[boolean]' 是否显示标题栏。除非调用的应用程序是 HTML 应用程序或受信任对话框(默认值为 1),否则将忽略此设置;
'toolbar=[boolean]' 是否显示浏览器工具栏(默认为 yes)。

同样值得注意的是,如果你传入的 URL 参数是脚本的名称(即:它不是以 “http://” 开头),并且脚本名为 gmcallback_*,那么你可以直接输入 html5 事件。如果 GameMaker Studio 2 函数名称以 gmcallback_ 开头,则 进行模糊处理。


例如:

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 打开一个新窗口,并带有该窗口的已定义属性。