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

2019-05-31 17:19:55

  观察者1

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

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

  3.动作:

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

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

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

  等待(0.016, 无视条件)

  如条件为“真”则循环

  观察者2

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

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

  3.动作:

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

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

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

  等待(0.016, 无视条件)

  如条件为“真”则循环

  注意:

  一定要注意逻辑设计上不能存在死循环,例如上面的例子里,观察者2的条件不能写“玩家变量 <= 0”。因为当玩家经验=100时,观察者1会将其变为0,就会触发观察者2。而观察者2又会再次触发观察者1。这就导致了死循环的出现。

  我们在两个观察者最后都加上了循环,目的是打破条件满足的情况。考虑这种情况:当我们一次性给玩家增加300点经验时,按理来说,应该让玩家升3级,但因为我们没有循环,玩家升了一级就结束了,并且后续增加经验,也不会再触发升级。只有当条件满足被打破时,条件再次满足,才会再次触发该规则。

目录 2/3 返回攻略专辑
守望先锋
守望先锋
平台:XONE | PS4 | PC
0%的玩家推荐
分享到:
热门标签
展开标签

APP精彩推荐

下载APP可查看更多精品攻略