回合制游戏战斗模块的制作
回合制游戏相信大家没玩过也见过,了解它的玩法。回合制,那就是你来我回的,你一回合我一回合,直到把对方打败。市面上的回合制游戏比较经典的有梦幻西游,问道,神武,完美世界。这几个都还是很不错的。回到正题,我们怎么用untiy做回合制游戏呢?其实还是比较简单的。如果你不考虑太多的话,就比如我们今天这个战斗模块的制作。当然不是非常完善的,但是战斗模块雏形已经有了。好了,先看效果吧。
不要在意素材的简陋哈,我们来看看具体怎么做吧?
首先,我们要知道回合制的机制,一人一次,然后呢,也并不是一队伍的人都是最先攻击的,还是要看速度来的。但是原则就是一人一回合,然后下一个。不多说了。在这里我们认为双方都有可移动的普通攻击,所以基本上双方都有很多的共同点,那么我们可以先写一个基类,然后让子类继承基类的一些方法或重新就可以了。这里贴图基类的代码。
然后由于双方基本上都差不多,我们可以用一个脚本就可以了,这里不考虑太复杂。脚本里面包含血量,受伤,攻击,移动等行为。代码如下:
这是部分代码,有点多,其他的不贴了,然后我们需要把脚本挂载在每个角色上面,最后我们要用一个管理类来管理我们的战斗双方。管理类代码如下:
整个的逻辑就是由管理类来发布命令,比如让cube方先攻击,然后等cube方所有人都攻击完了,最后再换队伍攻击。这样无限打(我这里是这样写的,自动战斗,无需操作)直到打死一方结束。