更多
网页游戏
当前位置:攻略首页 > 网游攻略 > 正文

《守望先锋》地图工坊应用观察者模式思想教程 地图工坊进阶教程

2019-05-31 17:19:55 第一人称射击FPS 人气值:加载中...

  模拟函数调用

  编程总是免不了函数,但目前为止OW中没有函数。但是,我们可以使用上面的方法,来模拟函数。

  还是用上面的例子。你会发现我们的等级变化逻辑还是写了两遍。我们能不能再将其独立成一个规则?当然是可以的。我们变化的目标是玩家,因此我们需要使用一个玩家变量,来标记我们需不需要对此玩家执行等级变化逻辑。假设我们使用玩家变量C。

  首先,在游戏初始化的时候,将其设置为假。我们的规则就可以变成:

  观察者1

  1.事件:持续 - 每名玩家

  2.条件:玩家变量(事件玩家, B) >= 100

  3.动作:

  修改玩家变量(事件玩家, B, 减, 100)

  修改玩家变量(事件玩家, A, 加, 1)

  等待(0.016, 无视条件)

  如条件为“真”则循环

  设置玩家变量(事件玩家, C, 真)

游侠网1

  观察者2

  1.事件:持续 - 每名玩家

  2.条件:玩家变量(事件玩家, B) < 0

  3.动作:

  修改玩家变量(事件玩家, B, 加, 100)

  修改玩家变量(事件玩家, A, 减, 1)

  等待(0.016, 无视条件)

  如条件为“真”则循环

  设置玩家变量(事件玩家, C, 真)

  等级变化规则

  1.事件:持续 - 每名玩家

  2.条件:玩家变量(事件玩家, C) == 真

  3.动作:

  // 这里写等级变化的逻辑

  设置玩家变量(事件玩家, C, 假)

  注意:这里只是模拟函数调用,但实际上它比函数还是少很多东西。因此,并不是所有情况都适合这样写。

游侠网2

  总结

  本文其实并没有用什么很稀奇古怪的技术,但本文的难点是思路的转变:你需要将几个本来不相同的逻辑,找出他们的共同点,并巧妙的将其拆分成多个逻辑,然后用规则来实现。

  到底要不要使用这种方式来设计规则?你需要考虑它的优缺点。

  优点有:将重复的内容独立出来,减少工作量,方便以后的修改(不仅需要修改的地方少了,漏改的可能性也更小了)。

  它也有缺点:增加了规则数量,增加了逻辑上的复杂度,运行效率稍低。

  个人认为,适当的使用这种思路来设计规则,可以减少你的工作量和维护难度。但并不代表这种方式一定就是最好的,你应当考虑你的实际情况。

  以上就是为大家带来的守望先锋地图工坊进阶教程,大家都学会了吗?

更多内容:守望先锋专题守望先锋论坛

提示:支持键盘“← →”键翻页
关于游侠 | 广告合作 | 人才招聘 | 友情链接 | 联系我们 | 网站地图 | 投诉建议 | 版权保护投诉指引
CopyRight © 1999-2023 ALi213.Net All Right Reserved 游侠网 版权所有 | 苏ICP备2023007791号