unity---背景循环滚动

方法一:两张图无缝拼接

float speed = 3;
    void Update()
    {
        transform.Translate(Vector3.right * Time.deltaTime * speed);
        if (transform.position.x >= 56)  // 56 拖动图片离开相机范围获得
        {
            transform.position = new Vector3(-100, transform.position.y, transform.position.z); // 第二张图的位置
        }
    }

方法二:移动纹理

 float flooroffset, floorSpeed; //地板材质的偏离量
 Material material;
    private void Start()
    {
        floorSpeed = .5f;
        material = floor.GetComponent<Renderer>().material;
        flooroffset = material.GetTextureOffset("_MainTex").x;
        material.SetTextureOffset("_MainTex", new Vector2(0, 0));
    }


    private void Update()
    {
        //移动地板纹理
        flooroffset += floorSpeed * Time.deltaTime;
        material.SetTextureOffset("_MainTex", new Vector2(flooroffset, 0));
    }

http://www.ceeger.com/Script/Material/Material.SetTextureOffset.html#

猜你喜欢

转载自www.cnblogs.com/Ms-Sake/p/10755499.html
今日推荐