Protoflux图形化编程:FireOnTrue与FireOnLocalTrue的区别
在部署事件的时候,FireOnTrue是一定会用到的,它的用途是在检测某个物件发生变化的时候,进行下一步操作。
官方简介
OnlyForUser(用户))
那个会监听布尔值并触发脉冲的用户。
作为最佳实践,绝不应根据用户不同(例如通过LocalUser)而放弃或进行不同的评估。如果该输入属于某个用户且节点被父级管理,那么该用户将触发冲冲。如果该输入在某个用户下且未被父级化,或者不同用户的评估方式不同,那么冲动通常会被第一个看到值变化的用户触发。通常是这个人导致了变化。如果不加以妥善管理,这可能导致行为不一致。如果期望每个本地检测到变化的用户都会触发一个脉冲,那么可以使用页面底部链接的本地版本节点。nullnullnull
条件(bool)
那个应该被重视的布尔来做修改。
OnChanged(冲动)
每当输入从 到 跨更新时,指定用户会发出单一脉冲。FalseTrue
如同官方说明的那样,如果说不希望出现同步问题,那么最好的方法,就是让代码在本地上运行,这样的话,所有的事件都会在本地完成,不再需要等待服务器的同步,而房主本身只需要等待客户端同步操作就可以了。
例子
这是一个C4炸弹。而地图中有一个模块,就是如果玩家处于爆炸中心,则会进入布娃娃状态。
那么,我们要做的,就是确保触发之后,能够进入布娃娃状态。
在这个简单的判定图中,可以看出为了确保判定正常,使用的是FireOnLocalTrue,如果说使用的是FireOnTrue的话,有很大概率会出现无法同步的问题。
简单来讲,就是别人被炸飞了,但是没有进入布娃娃状态,但反而你自己被炸飞了,这是道具部署中不希望看到的。
对于一个P2P游戏来说,确保不出现同步问题,是开发游戏模式的一个重要一点。


No comments to display
No comments to display