Unity3D之实现背景的无限重复生成

来源:互联网 发布:java获取404源码 编辑:程序博客网 时间:2024/04/29 22:32
在开发flappyBird这个小游戏中(摄像机为Orthographic),为了无限重复生成背景,可以先做好三个背景(我做的有点小),在Gamecontroller上挂一个脚本,如下:

   public static GameController _instance;

    public Transform lastBg;

    void Awake()
    {
        _instance = this;
    }
把第三个背景图(最后一个)赋值给lastBg,然后分别在每个背景图上放置一个trigger(置于空物体上,istrigger勾选上),用于检测玩家是否碰撞到了trigger,然后,给每个trigger上挂一个脚本,如下:
    public Transform currentBg;

    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Player")
        {
            Transform lastBg = GameController._instance.lastBg;//取到最后一个Transform
            currentBg.position = new Vector3(lastBg.position.x + 6.5f, currentBg.position.y, currentBg.position.z);//将取到的Transform.x+背景图的宽(6.5)赋给当前所在的背景图x值,y,z不变
            GameController._instance.lastBg = currentBg;//把当前所在的物体设置为lastBg
        }
    }
  如此,即可实现重复生成背景图
1 0
原创粉丝点击