franniss 发表于 2009-12-30 14:41:12

Game Maker 8.0 ,触发事件(Trigger events)的用法



触发事件(Trigger events)是 Pro 版专用的功能。
在 Lite 版中也可以使用,只是被隐藏起来了,无法编辑。

它是用来做什么的呢?

举例来讲,在 GM7 里,如果有“按上键”和“按右键”两个事件,同时按右上两键的话,会同时执行它们对应的动作,而非哪个都不执行。

在 GM8 里,你可以在触发事件中,设定一个类似“同时按右上两键”的事件。

位置:

Object Properties -> Event -> Trigger -> Add / Modify Triggers

写法:

{
return keyboard_check( vk_up ) && keyboard_check( vk_right )
}

此外还可以为这个触发事件,设定一个 Constant name ,例如 trg_rightup 。
如果需要在此对象的其它代码中,激活该触发事件的动作,可以这样写:

event_perform( ev_trigger , trg_rightup )

需要注意的是,上边这句执行的是“该触发事件的动作”,而不是“该触发事件”。
如果在“同时按右上两键”事件代码中,含有“在屏幕坐标范围内”的约束条件,那么直接用 event_perform() 会超出屏幕向右上移动啦。
所以在灵活使用 Constant name 时不要忘记写约束条件。

lw 发表于 2010-1-1 14:38:43

可以理解为支持在GM8中枚举的事件中,自定义更多的组合事件么?

也就是说扩展了原有的事件触发条件了?

franniss 发表于 2010-1-1 18:19:35

是任意事件

写在 step 里加个 if 也一样。

star-o-0 发表于 2010-5-14 18:10:27

範例看不太懂ˊˋ
意思是跟在step裡加入
if(keyboard_check( vk_up ) && keyboard_check( vk_right )){
//doing something
}

意思一樣嗎?
页: [1]
查看完整版本: Game Maker 8.0 ,触发事件(Trigger events)的用法