系统条件中有三个特殊的条件于其他的条件工作方式不同.分别是”仅触发一次”,”全选实例”,”否则else”.
-
这个条件作用是让持续触发的条件变成只触发一次.与持续检测事件組合使用检测”如果最后一次没有达到这个条件”,仅触发一次条件置于条件最下方.
如下图所示,一般制作播放音乐时都会犯以下的错误.当飞機血量等于0时,播放飞机播放音频.但是事件是每帧执行的,一般游戏中FPS一般为60,所以这个音效会播放60次. -
这是不符合我们的预想的,我们只需要当飞機血量等于0时,播放一次飞机爆炸的音频.所以我们添加”仅触发一次”条件,让当音效只播放一次.
-
一般事件的执行方法是通过条件过滤不符合條件的实例,选择符合条件的所有实例执行动作.而全选实例则是反向运行的唯一条件,这个条件会重新选择所有实例对象,在后续的条件中再次通过条件筛选实例.在多重嵌套事件中,可以快速的重置选择的实例对象.
-
这个条件作用于当前一个事件没有执行,则运行这条事件,这个条件必须鼡于条件的第一个.
下面的例子是当触摸屏幕时,如果全局变量状态等于0设置全局变量状态为1,全局变量状态等于1设置全局变量状态为0.
新使用唤境Evkworld的用户可能会经常犯下图所示的错误.因为事件表是从上往下执行的,所以下图所设置的事件表在每一次触摸屏幕时都会先把全局变量状态徝设置为1,但又马上符合下面一个条件,把全局变量状态值设置为0.
-
我们只需要把第二个子事件改为使用否则else就可以了.
-
请注意,”否则else”条件不会選择任何实例,请看下面一个例子.
-
上面所示的事件希望当怪物在屏幕内时,让怪物的方向朝向玩家,当怪物不再屏幕内时,让怪物转向90度.这有两个問题首先如果有任何怪物在屏幕上,那么”否则else”条件将根本不会运行因为第一个事件已经运行,因此”否则else”不会运行第二即使”否则else”事件运行,它也不会特意选择屏幕外的怪物:它会影响所有怪物因为”否则else”不会选择实例。在这种情况下最好简单地用事件的反转功能,如下图所示即可达到效果.
-
使用”否则else”组合其他条件即制作”else-if”逻辑,如下图所示.
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。