手机游戏> 守望先锋手游> 游戏攻略> 综合篇> 《守望先锋》地图工坊教程

《守望先锋》地图工坊教程

作者:互联网 来源:3DM 发布时间:2024-01-18 01:13:56
上九游,领福利

守望先锋是一款非常火爆的FPS加MOBA的结合类游戏,游戏的人物设定精美,玩法紧张刺激,同时售价也不高,一经推出就收到了非常大的欢迎。很多玩家不知道守望先锋地图工坊教程,来看看地图工坊怎么用。

《守望先锋》地图工坊教程

《守望先锋》地图工坊教程

本文的目标对象,是已经有一定地图工坊编写经验的朋友。如果你并不熟悉,建议你阅读其他教程。例如:

[零基础入门教程]

[在地图工坊中从零开始创造“生化模式”]

引言

相对于一门编程语言来说,地图工坊的功能其实非常基础。它没有函数,更别提类了。不过,不知道你是否注意到,持续事件有一个特性:它可以持续等待,直到条件为真。

编程里面有一个“设计模式”,叫做“观察者模式”。它的意思是:当一个对象变化时,会自动通知依赖它的对象。

看到这里,不知道你有没有觉得,持续事件和观察者模式是有一定相似之处的:它们都是在“等”一个东西。

简化规则

这个东西有什么用?我们可以借此来简化规则的编写。例如,我们要做一个等级系统,当经验达到100的时候就升一级,死亡的时候就掉50%经验,如果经验是负了,就掉一级。

我们的经验来源可能不止一种,例如在RPG模式里,我们击杀敌人可以获得经验,摧毁防御塔也可以获得经验。当我们用传统办法写规则的时候,我们就需要:

击杀敌人:增加经验,如果经验>100,增加等级,修改等级BUFF

摧毁防御塔:增加经验,如果经验>100,增加等级,修改等级BUFF

死亡:减少经验,如果经验<0,减少等级,修改等级BUFF

你有没有觉得,这是一个繁琐的过程?当你需要修改等级BUFF的时候,你需要修改很多条规则。

我们再分析一下我们的逻辑:实际上,等级什么时候会增加,增加会有什么效果,这并不是我们的“死亡”事件该处理的。

正确的做法是:有一个东西在“看着”经验,当它大于100时,就代表升级了。当它小于100时,就代表降级了。我们将其解耦后,规则就变成了:

击杀敌人:增加经验

摧毁防御塔:增加经验

死亡:减少经验

观察者1:如果经验>100,增加等级,修改等级BUFF

观察者2:如果经验<0,减少等级,修改等级BUFF

换做游戏内规则,即是:(假设用玩家变量A表示等级,玩家变量B表示经验)

击杀敌人:修改玩家变量(事件玩家, B, 加, 50)

摧毁防御塔:修改玩家变量(事件玩家, B, 加, 30)

死亡:修改玩家变量(事件玩家, B, 减, 50)

观察者1

事件:持续 - 每名玩家

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

动作

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

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

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

等待(0.016, 无视条件)

如条件为“真”则循环

观察者2

事件:持续 - 每名玩家

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

动作:

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

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

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

等待(0.016, 无视条件)

如条件为“真”则循环

注意:

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

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

模拟函数调用

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

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

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

观察者1

事件:持续 - 每名玩家

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

动作:

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

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

等待(0.016, 无视条件)

如条件为“真”则循环

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

观察者2

事件:持续 - 每名玩家

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

动作:

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

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

等待(0.016, 无视条件)

如条件为“真”则循环

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

等级变化规则

事件:持续 - 每名玩家

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

动作:

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

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

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

总结

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

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

将重复的内容独立出来,减少工作量。

方便以后的修改(不仅需要修改的地方少了,漏改的可能性也更小了)

它也有缺点:

增加了规则数量。

增加了逻辑上的复杂度。

运行效率稍低。

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

热门游戏

守望先锋
守望先锋
t21_2-t21_1:0.0
休闲
一款团队第一人称射击游戏
t21_4-t21_3:0.0
电脑版 加速器
最新动态,一手掌握
加速器下载 九游预约

玩家评论

(3733条)
加入九游群聊,开黑不愁,礼包全有
下载九游APP
点击下载按钮,或用手机二维码扫描可直接下载对应安装包!
立即下载九游APP

全部评论

  • 豌豆ax1wn8 来自于 九游APP 2024-10-01 19:38

    希望快点出,我都等了很久了,他已经陪伴我一年的时间了,求求快点出,最新款的破坏球,我家都摆了各种各样的破坏球模型

  • 豌豆z1jru0 来自于 九游APP 2024-10-30 19:15

    快点出吧!太想玩了!

  • 幽灵一魔女11 来自于 九游APP 2024-11-12 10:25

    以前玩过,觉得特别好玩,希望能快点出

  • 九游玩家7lz2g2h6m4z4 来自于 九游APP 2024-08-16 08:08

    画面非常清晰。嗯,试玩版那个玩法有很多

  • 克隆夕小磁怪74 来自于 九游APP 2024-08-18 16:57

    好玩太好玩的,太好玩了,太好玩了,太好

  • 阿玖陪你看日落 来自于 九游APP 2024-06-23 07:29

    这不像正常下载的正版的那个样子嗯,我说的是他的图标我玩过特别好玩,是电脑上玩的,电脑上的已经上架了,这为什么要下架但是突然登不上去了

  • 豌豆a9j4lr 来自于 九游APP 2024-07-06 11:45

    还没有玩,但是感觉这款游戏给人带来了一种非常好玩的感觉

  • 九游玩家401573411 来自于 九游APP 2017-07-15 20:27

    想要马上玩手机版的守望先锋的点赞。我不是骗赞的我只想知道守望先锋有几个人在玩。

  • 源灭斩 来自于 九游APP 2020-05-18 22:58

    本人守望迷,但是我相信手机不会出的,至少要等几年,现在守望先锋在退出守望2,没有时间做手游,况且暴雪并不怎么支持手游,手游里只有一个炉石传说,剩下的在现在的手机上很难做出来。模型就是一个问题。不过手游上有一些盗版守望先锋,质量并不怎么好比如说:王牌特工。但是还是期待守望先锋出手游版。但是我有端游了,不会在特别在意。。。

  • 九游玩家7lyv14hp3tnw 来自于 九游APP 2020-01-23 21:20

    预约等不起的别酸,要么去买个电脑配置,花点小钱买个正版,好好打上一把不行??酸您妈呢,等不起去买啊,人家爱怎么出怎么出管得着么??刷存在感真是??

t26_2-t26_1:3.0

其他玩家还在玩

守望先锋

守望先锋
类型:休闲
安卓:运营
订阅
守望先锋国际服 是一款动作游戏,有着不同的玩法,让玩家可以选择不同的游 [详情]

守望先锋国际服 是一款动作游戏,有着不同的玩法,让玩家可以选择不同的游戏模式进行战斗,可以选择团战,也可以选择个人比赛,让玩家体验控制英雄参与战斗的操作玩法有清爽的战斗内容,带来刺激元素。有需要的朋友快来下载使用吧!

开发者:九游

tgamedetail_ff_2-tgamedetail_ff_1:18.0

tgamedetail_ff_3-tgamedetail_ff_2:1.0

tgamedetail_ff_4-tgamedetail_ff_3:9.0

tgamedetail_ff_5-tgamedetail_ff_4:10.0

tgamedetail_ff_6-tgamedetail_ff_5:4.0

tgamedetail_ff_6-tgamedetail_ff_1:42.0

t10_2-t10_1:7.0

t10_3-t10_2:7.0

t10_4-t10_3:8.0

t10_5-t10_4:6.0

t10_6-t10_5:0.0

t10_6-t10_1:28.0

t40_2-t40_1:4.0

相关专题

最新专题

预约游戏
扫描二维码下载九游app预约游戏
第一时间接受活动,礼包,开测下载提醒
扫码领取福利

下载九游APP,可获取更多礼包和攻略视频

九游云游戏
电脑也能玩手游 · 无需下载 · 不占空间 · 点击即玩
在线玩

t2627_2_2627_1:4.0

t1-t0:31.0

t2-t1:5.0

t3-t2:0.0

t4-t3:2.0

t5-t4:13.0

t6-t5:13.0

t7-t6:3.0

t8-t7:0.0

t9-t8:75.0

t10-t9:0.0

t11-t10:13.0

t12-t11:0.0

t13-t12:0.0

t14-t13:0.0

t15-t14:0.0

t16-t15:0.0

t17-t16:0.0

t18-t17:53.0

t19-t18:2.0

t20-t19:1.0

t21-t20:0.0

t22-t21:0.0

t23-t22:5.0

t24-t23:0.0

t25-t24:13.0

t26-t25:0.0

t27-t26:3.0

t28-t27:3.0

t29-t28:0.0

t30-t29:19.0

t31-t30:0.0

t32-t31:25.0

t33-t32:0.0

t34-t33:0.0

t35-t34:0.0

t36-t35:0.0

t37-t36:54.0

t38-t37:28.0

t39-t38:0.0

t40-t39:0.0

t41-t40:4.0

t42-t41:20.0

t43-t42:0.0

t44-t43:31.0

t45-t44:13.0

t46-t45:0.0

t47-t46:0.0

t48-t47:2.0

t49-t48:0.0

t50-t49:3.0

t51-t50:2.0

t52-t51:0.0

t52-t0:436.0