内容纲要

音乐音效

1.设置背景音乐
把背景音乐导入至unity创建的Music文件夹中,把背景音乐挂在场景中的Env下面。Play On Awake一开始播放和Loop循环播放勾上
FireBall音效,BUG修改插图
2.子弹射击播放音效

 //每一帧计算当前时间-按下事件之差d
 float d = Time.time - pressTime;
  float f = d / 2;//最大两秒内有变化,超过2秒使用最高音高系数(1)
            if (f > 1)
            {
                f = 1;
            }
            transProj.GetComponent<AudioSource>().pitch = 1 + f * 2;

BUG修改

1.Tower的Cylinder应当更大一些,防止先打到砖块,baCylinder的缩放x和z都调到10
2.设置灯光,让场景看的更加柔和,美观
3.击中圆环,播放抛物线动画,删除子弹

if (collision.gameObject.tag == "Arch")
        {
            print("你碰到了圆环!");

            lober.endPos = ply.transform.position;

            lober.enabled = true;

            ply.isGameOver = true;
            Destroy(this.gameObject, 1.5f);
        }

4.Tank从TankPos下拿出来,放到Level节点下,否则每个Platform会各有一个TankFireBall音效,BUG修改插图(1)
5.砖块淡出时,禁用碰撞器

private bool isFadeout = false;//砖块是否处于淡出状态
internal void SetFadeout()
    {
        isFadeout = true;
        GetComponent<Collider>().enabled = false; 
    }

6.Tower没有上升完毕禁止射击,player。is moving上升完毕后设置为false,设计师检查ismoving标记

 public bool isMovingUp = true;//是否正在上升
  if (isMovingUp == true)//如果在上升直接退出不能发射子弹
        {
            return;
        }

在Tank脚本里找到tank,并设置上升完毕后可以发射子弹

 private Tank tank;
   tank = GameObject.Find("Tank").GetComponent<Tank>();
tank.isMovingUp = false;

7.如果没有砖块,不要在射击

public Tower tower;
 if (tower.bricks.Count == 0)//判断场上是否存在砖块,打完不能射击
        {
            return;
        }

发表评论