今天跟大家伙儿唠唠我这两天搞的那个双人坦克小游戏,纯属个人瞎折腾,各位大神轻喷哈!
起因是这样的,周末在家闲着没事儿,突然想起小时候和小伙伴一起在小霸王上玩的坦克大战,那叫一个上头!就寻思着,能不能自己也搞一个,重温一下童年。
说干就干!我得找个趁手的工具。我用的是 Unity,这玩意儿比较熟悉,上手快。
然后,就是开干!
1. 搭场景
先建了个空项目,然后简单搭了个场景,就一个地面,随便铺了点颜色。
用 Cube 拼了点墙,简单粗暴,反正能挡住坦克就行。
场景里加了俩坦克,就用的 Unity 自带的 Capsule 稍微改了改颜色,看起来像那么回事儿就行。
2. 坦克移动
写了个简单的脚本控制坦克移动,用 `*` 获取方向键,控制 `*` 移动坦克。
炮塔旋转也类似,用鼠标或者键盘控制炮塔的 `*`。
为了让坦克看起来更真实,加了点限制,比如最大速度、旋转速度之类的。
3. 炮弹发射
做了个简单的炮弹预制体,就一个 Sphere,加了个 `Rigidbody` 组件。
写了个脚本控制炮弹发射,点击鼠标左键就生成一个炮弹,给它一个向前的力,让它飞出去。
为了让炮弹打到墙或者坦克的时候爆炸,加了个碰撞检测,碰到东西就销毁自身,顺便播放个爆炸特效。
4. 双人控制
这是个重点,得让两个人都能玩。
复制了一份坦克,分别用不同的按键控制。比如,一个用 WASD 控制移动,QE 控制炮塔,空格发射炮弹;另一个用上下左右控制移动,小键盘的 4 和 6 控制炮塔,回车发射炮弹。
改了改 `*` 里面的参数,让两个坦克互不干扰。
5. 胜负判定
给每个坦克加了个血条,被炮弹击中就掉血。
血条归零就判定死亡,游戏结束。
简单粗暴,谁先死谁输。
6. 美化一下
加了点爆炸特效,用 Unity 自带的 Particle System 稍微改了改。
地面贴了张草地的贴图,看起来不那么单调。
加了点背景音乐,网上随便找的,能听就行。
打包发布!
整个过程磕磕绊绊,遇到了不少问题,比如坦克移动不流畅、炮弹发射方向不对、双人控制冲突等等。不过最终都一一解决了。
虽然画面简陋、玩法简单,但是能和小伙伴一起玩,重温童年,还是挺有意思的。下次争取搞个更复杂的,比如加点 AI,让坦克自己动起来,或者搞个联网对战,和更多人一起玩。