作业与练习
1、改进飞碟(Hit UFO)游戏:
游戏内容要求:
1、按 adapter模式 设计图修改飞碟游戏
使它同时支持物理运动与运动学(变换)运动
2、打靶游戏(可选作业):游戏内容要求:
靶对象为 5 环,按环计分;
箭对象,射中后要插在靶上
增强要求:射中后,箭对象产生颤抖效果,到下一次射击 或 1秒以后
游戏仅一轮,无限 trials;
增强要求:添加一个风向和强度标志,提高难度
实践内容
- 根据要求,在上周的代码的基础上进行修改,上周的代码情况在上篇博客中可知
最新的游戏效果图
- 飞碟出现
- 打中飞碟
改进的地方
- 增加了飞碟的重力属性
- 修改了飞碟的运动轨迹(从摄像头的后方往前抛出)
// 随机生成起始点和终点
Vector3 starttPos = new Vector3(
UnityEngine.Random.Range(-10,10),
UnityEngine.Random.Range(0,20),
-10
);
gameObj.transform.position = starttPos;
Vector3 randomTarget = new Vector3(
UnityEngine.Random.Range(-10, 10),
UnityEngine.Random.Range(-10, 10),
20
);
MoveToAction action = MoveToAction.getAction(randomTarget, gameObj.GetComponent<DiskData>().speed);
- 增加了打中飞碟后的粒子效果
其实就是在预制当中加入了一个粒子控制器,再由以下代码调用,具体放置地方根据所需决定
GameObject explosion;
explosion = Instantiate(Resources.Load("Prefabs/ParticleSys"), new Vector3(-40, 0, 0), Quaternion.identity) as GameObject;
explosion.transform.position = hit.collider.gameObject.transform.position;
explosion.GetComponent<Renderer>().material = hit.collider.gameObject.GetComponent<Renderer>().material;
explosion.GetComponent<ParticleSystem>().Play();
以上即是本次作业的内容