那时候还是LOLS8比赛刚结束不久,朋友在网上看到一个别人做的王校长热狗的游戏,知道我是学游戏方向的,就发给我看,看了一下觉得挺有趣,又感觉应该不是很难,就开始着手做了一个。毕竟也是新学入门,所以也就只是做了一点点的模样出来。
游戏大概的样子就是这样了,通过射出面包击中目标来增加得分
先是从百度找了几张素材图,简单的修剪
一开始以为把照片放入项目中就可以直接拉到场景中,但是发现拉不了,发现这里要把图片素材的Texture Type修改一下
将素材一一导入之后,把热狗面包和FNC都做成预制体
开始在物体上添加脚本,首先要控制wxz(游戏人物)的移动,在这里我写成一个Move方法,检测垂直方向的数值,来更新人物为的移动。Vertical的值为-1到1
用类似的方法来控制面包和FNC的移动。
接下来是生成面包,当检测到鼠标空格按下,就实例化出一个面包出来
这里为了控制连续按下空格,产生太多的面包,我又给他添加了一个CD时间
不断的生产,会使得游戏物体越来越多,这个时候需要把已经移出游戏界面的物体销毁掉,利用Invoke方法来实现延时调用,计算游戏物体差不多移出游戏界面的时间,进行销毁操作。
接下来是当面包击中FNC的时候,可以消灭掉FNC,这里需要添加碰撞检测,对于碰撞检测要注意的有几点
1、碰撞检测的两个物体都必须要有碰撞体,而且其中一方要勾选上IsTrigger,带有刚体组件。
2、3D跟2D的碰撞体是不一样的,在添加组件之后,在写代码的时候,千万不能写错,不然会没有反应
这里还有补充一点就是添加刚体之后要把重力设成0,不然物体会掉落
给FNC添加tag标签fnc,用于标签碰撞检测
最后一步就是UI的设置
添加Text,通过碰撞检测之后,改变goal得分值,改变Text中的text。因为是个字符串类型,所以这里要调用ToString()
这样就完成了这个游戏的制作,还有很多可以补充完善的地方,但是目前学习的东西有限,暂时就做这么多,主要还是通过动手来了解自己学习到的东西是否有记住掌握,在实践的过程中还是最能发现问题的。