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