您的位置:首页 > 移动开发 > Unity3D

Unity 3D飞机大战制作心得

2015-10-02 16:01 567 查看

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中重新加载场景的常用方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: