《守望先锋》地图工坊应用观察者模式思想教程 地图工坊进阶教程
之前大家为大家带来了守望先锋地图工坊的零基础入门教程,而今天,为大家带来的是玩家“泷涯”编写的守望先锋地图工坊进阶教程,一起来看看吧。
推荐阅读:
守望先锋地图工坊应用观察者模式思想教程
本文的目标对象,是已经有一定地图工坊编写经验的朋友。如果你并不熟悉,建议你阅读其他教程。
引言?
相对于一门编程语言来说,地图工坊的功能其实非常基础。它没有函数,更别提类了。不过,不知道你是否注意到,持续事件有一个特性:它可以持续等待,直到条件为真。
编程里面有一个“设计模式”,叫做“观察者模式”。它的意思是:当一个对象变化时,会自动通知依赖它的对象。
看到这里,不知道你有没有觉得,持续事件和观察者模式是有一定相似之处的:它们都是在“等”一个东西。
简化规则
这个东西有什么用?大家可以借此来简化规则的编写。例如,大家要做一个等级系统,当经验达到100的时候就升一级,死亡的时候就掉50%经验,如果经验是负了,就掉一级。
大家的经验来源可能不止一种,例如在RPG模式里,大家击杀敌人可以获得经验,摧毁防御塔也可以获得经验。当大家用传统办法写规则的时候,大家就需要:
1.击杀敌人:增加经验,如果经验>100,增加等级,修改等级BUFF
2.摧毁防御塔:增加经验,如果经验>100,增加等级,修改等级BUFF
3.死亡:减少经验,如果经验<0,减少等级,修改等级BUFF
你有没有觉得,这是一个繁琐的过程?当你需要修改等级BUFF的时候,你需要修改很多条规则。
大家再分析一下大家的逻辑:实际上,等级什么时候会增加,增加会有什么效果,这并不是大家的“死亡”事件该处理的。
正确的做法是:有一个东西在“看着”经验,当它大于100时,就代表升级了。当它小于100时,就代表降级了。大家将其解耦后,规则就变成了:
1.击杀敌人:增加经验
2.摧毁防御塔:增加经验
3.死亡:减少经验
4.观察者1:如果经验>100,增加等级,修改等级BUFF
5.观察者2:如果经验<0,减少等级,修改等级BUFF
换做游戏内规则,即是:(假设用玩家变量A表示等级,玩家变量B表示经验)
1.击杀敌人:修改玩家变量(事件玩家, B, 加, 50)
2.摧毁防御塔:修改玩家变量(事件玩家, B, 加, 30)
3.死亡:修改玩家变量(事件玩家, B, 减, 50)
更多内容:守望先锋专题守望先锋论坛
- 不止有《剑星》!盘点10款以女性为主角的动作游戏
- 《暗黑破坏神》保持15年的速通世界纪录证实造假!
- 《FF7重生》蒂法渔网袜Mod:看起来美腿更性感了!
- 《孤岛惊魂7》剧情泄露!涉及新英格兰背景与家族斗争
- 又大又白!西方老外看中韩游戏走不动道:大即正义
- 不是类魂是ACT!《湮灭之潮》实机游玩更像《鬼泣》
- 《艾尔登法环:黑夜君临》DLC泄露:更多角色和Boss!
- 给我留一件吧!《天国:拯救2》玩家抗议主角老被扒光
- 四大天王!《怪猎荒野》各大地图生态系统霸主揭晓
- 超级地球面临威胁!《绝地潜兵2》首颗行星遭黑洞破坏



