欢迎光临散文网 会员登陆 & 注册

一个人做游戏(终)——新功能与一些练习

2018-02-26 13:00 作者:枫2  | 我要投稿

这次的专题UP在第一期就说过,不是为了做好玩的游戏,目的是用这种简单的游戏类型教学大家程序入门。

上一期有计划想将游戏内容扩展丰富,不过UP看了下,发现之后所有的扩展都是搬砖了。

所以UP将不自己亲自扩展了,而是给大家讲方法,并将源代码留给各位,让各位可以学习扩展。

炸弹气球功能

之前UP有一个想法是做个黑色气球,点击后反而会扣血,增加游戏性,这种内容怎么写呢,其实就是把之前所学习的知识复制粘贴。

我们曾经在项目里写过redBall功能,就是普通的点击加分的气球,如果我们要写点击扣血的气球,我们可以复制一份。

将prefab绑定过的redball拖到游戏区域中,然后复制一份blackball(这些操作在之前几期都做过描述,这里就不再次讲述了)

接下来我们要修改代码,在一个代码里区分两种气球,这好像是一个新知识,打开我们之前的ballFly代码(如果不记得,可以git下我的代码,看看是哪个),添加以下内容:

然后再修改一些代码加入新内容

箭头指向的是注意点

可能此时你没有弄懂UP写这段内容的意思,我们回到游戏界面看一看,指向之前加载代码的文件,有没有看到多出了个Mode的选框,于是我们可以将红气球选择red,黑气球选择black,它们所执行的代码就不同了。

然后我们搞个黑气球,注意这里UP偷懒了,如果有美工千万不要学UP

直接通过修改素材着色而改变了颜色

再接下来我们修改下createBall文件,之前只会随机生成红气球,我们要增加黑气球,实现办法就是新建个gameobject,生成气球的时候判断生成红还是黑。

箭头标注的是需要注意的关键代码

然后将blackBall的prefab拖入到界面里blackball的gameobject里面

最后还有一个地方要改一改,就是hitball,得分的界面,因为我们说点击blackBall扣血,所以

红框内容是新增的

好了我们来测试一下


你会发现一件事,黑球是不是太多了点,所以我们可以调整下随机数

我们改成了这样,这个意思就是有30%的概率出现黑球

然后这款游戏基本上功能就差不多了,其实UP觉得写了这么多功能的游戏还是有一个玩点,就是早上起床的时候没睡醒可以玩一把用来提神,如果能配合闹钟一起启动然后点击多少分后才能解除闹钟效果更好( ´∀`)。

各种功能的写法

上一期UP说过,这种游戏其实可以补充很多细节的,不过UP就不再继续写下去了,开头序言时也有说过原因,不过呢UP会根据难度把一些功能作为题目,有兴趣大家可以跟着我的题目来练习,代码也可以在git里找到(git地址见一个人做游戏的第一期)。

第1题-高分气球:速度很快,放走不会受到伤害,只是点击到会加大量分

这种类型的气球和上面的黑气球是一个原理,只是初始速度更快,算是最简单的“搬砖”难度了

第2题-额外金币:炸弹气球飞出屏幕后会掉落下一颗快速飞出屏幕的金币,点击可以获得币

其实原理也很简单,首先要写一种快速下落的金币(气球是上升的,下落则反过来计算)

其他的也是可以搬砖完成

第3题-血包:点击后加1点血

这个基本上也是搬砖就可以完成的,UP都不再多解释,不过需要注意的是游戏里最大HP是3.

第4题-高分区域:在屏幕上留下一块区域,在区域内点击气球会获得高分

跟上面2个比起来稍微有点难度,其实原理是你要确定区域,再确定气球是否碰到到区域,如果在区域内被点击则给高分

第5题-炸弹道具:游戏里会给一个炸弹道具如果发现要死掉了,可以点击炸弹将全屏的气球消除

这个可能有点难,首先要动到UI按钮功能,炸弹个数计算,然后难点是如何清除气球,UP给个思路,gameobject.find这个功能还记得吗,查到所有叫某个名字的气球,再把它们全部删除就好了。

好了,UP给了5个练习给想学习的你们,如果能完成前3题,基本上算是程序入门了,如果能完成4说明你程序还有点厉害,如果5个题目全部完成了,相信也可以和UP一样写一些简单的游戏了。

总结

UP的做游戏系列就到这里暂时告一段落,刚开始的时候写的太难以及题材不是很好,还导致UP弃坑了一次,这一次才算找到了方向,做了个很好的入门教学。

当然,接下来UP也会继续发一些专栏文章,不过UP会再次回到策划上面,说一说游戏设计与游戏行业。

一个人做游戏(终)——新功能与一些练习的评论 (共 条)

分享到微博请遵守国家法律