针对17-23学习章节的练习
1、导入资源,修改分辨率1280*800
2、选择图片,修改图片类型,设置尺寸和它的压缩格式
3、选择压缩,当我们图片资源比较多的时候,会选择第一个压缩方式
4、修改摄像机与坐标
@1设置相机--做2D游戏要将摄像机改为正交模式
@2将坐标系改成Iso格式
5、添加Quad,重置坐标系,同时改名bg,作为背景
6、给Quad添加材质球,Transparent是显示透明图片的
7、同理添加所有的UI,材质,面板等(添加所有的素材)
8、我们一个面板只有两对障碍物,做好一对后,再复制一对
创建好的上下障碍物扔进pipe中。并设置好他的z轴方向
9.创建小飞龙
9.1-显示他的动画呢?
接下来通过代码实现:
10.动画最终效果:
同时:设置小飞龙添加刚体组件,让其收到物理引擎影响。
修改障碍的随机生成值
10.1可以给小飞龙设置一个外力(AddForce),或者速度(Transform.translate)
关于这个力的解释:
velocity直接修改物体的速度,无视各种外力
addforce直接模仿物理受力了,给物体施加一个力,也会收到其他力的作用
11.在Unity3D开发中,只有通过碰撞器,才能产生碰撞事件
所以,给障碍物添加碰撞体-BoxCollider,给地面添加碰撞体。
Player
Pipe
再将制作好的背景添加为预制物
12、使用管理器来管理游戏的所有的其他信息
由于我们的面板是循环利用,所以可以通过移动触发器上面的碰撞器的OnTriggerEnter方法判断游戏对象是否进入一个合适的位置,来调整面板是否可以重用了。
脚本一览:
为了让重用的面板上的障碍物不同,可以拿到脚本调用其中的方法体
13、添加用户反应背景:
跟上面面板保持一致就可以,不需要障碍物
14、监听用户输入
重置游戏对象的初始速度
15、将相机扔进角色中
通过玩耍我们发现角色在撞击到碰撞器后,导致摄像机翻转,眩晕感便如此而来
所以添加脚本,来控制摄像机。扔进摄像机,取到相对的坐标值就可以进行开发了。
16、积分操作:
首先添加碰撞器,其次设置为触发器
相应的pipe代码:
设置完后,最好将所有的预制物Apply一下
17、设置游戏状态
方便进行相应的控制:
刚开始,游戏对象不受物理效果,去掉受重力影响的开关
18、根据状态来切换相应的场景
一开始我们的画面应该是不动的。
给障碍物添加刚体碰撞检测
19、添加声音组件
20、游戏菜单面板制作
使用空物体将面板内容保存起来,作用于Panal一致
![G]TGM30IKL}}_AS6G)7Q6)F.png](http://upload-images.jianshu.io/upload_images/642887-cbd24fff0f3c6873.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
制作管理器,来管理面板的显示与否
碰撞到障碍物,就将状态改为结束。
![M]T5PC%8TYOA{BY%ILSW4~W.png](http://upload-images.jianshu.io/upload_images/642887-449b249fc1dc0b43.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
21、分数保存
在游戏管理器中直接传递分数过去。
![]2F30JU5IM14%NMIF.png](http://upload-images.jianshu.io/upload_images/642887-e9736c037ff0e050.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
22、重新开始按钮设置
这里无非就是判断当期游戏状态 == GameState_END
![408RF@8W9100YB5R7]}847D.png](http://upload-images.jianshu.io/upload_images/642887-be3bf4f255093c5b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
23、结束语
项目虽然简单,但是要学习的东西还需要继续学习。感谢泰斗社区管理员提供视频教学,素材来源,要感谢UI学院的余老师以及他的学生们!