Unity 3D飞机大战制作心得



1.摄像机的设置需要注意:选择摄像机的投影方式为Orthographic(正交投影)。
2.控制飞船的移动,其实就是控制一个3D的Vector3(x,y,z)的变换,首先需要得到
在x轴方向和z轴方向上面的移动变量,接着再给坐标赋值,实现坐标自身相应的移
动,变换。
接着还要给刚体相应的速度方向。具体使用:
GetComponent<Rigidbody>().velocity=movement;
3.为了提高游戏可玩性,加入方向上面的速度
GetComponent<Rigidbody>().velocity=movement*speed;
4.控制发射的时间间隔:
Time.time>nextFire
5.实例化做好的子弹并且发射出去:
Instantiate(shot,shotSpawn.position,shotSpawn.rotation);
6.管理子弹的生命周期:
为游戏区域添加触发器,并当电光子弹飞出区域时触发事件,在事件响应函数中
调用Destroy方法。
7.添加小行星随机旋转功能:
在脚本中添加一个表示小行星旋转系数的变量tumble,再重载Start函数,为刚体
组件的角速度赋上随机值。
例如:
GetComponent<Rigidbody>().angularVelocity=Random.insideUnitSphere*tumble;

PS:注意需要设置角阻力为0,否则该小行星速度会越来越慢。

8.添加小行星随机产生的逻辑:
注意需要让小行星在一定的范围之内产生。(x轴方向)
例如: 
spawnPosition.x=Random.Range(-spawnValues.x,spawnValues.x);
spawnPosition.z=spawnValues.z;
spawnRotation=Quaternion.identity;
Instantiate(hazard,spawnPosition,spawnRotation);

9.使用Unity中的协程来让小行星的生成有时间间隔。

10.添加音频:
在发生碰撞的时候,调用音频来产生爆炸的声音

11.UI
添加计分UI的时候需要注意UI的位置。

12.重新加载场景
Application.LoadLevel(Application.loadedLevel);
是Unity中重新加载场景的常用方法。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值