代码之家  ›  专栏  ›  技术社区  ›  Siddharth

滚动背景重叠

  •  0
  • Siddharth  · 技术社区  · 7 年前

    我有很长的游戏背景,所以我做了两个分区,并开始实施滚动一个接一个。

    但是在滚动的过程中,我遇到了这样的问题——一个部分与另一个部分重叠,下面的图片将给您更多关于我的观点的解释:

    enter image description here

    由于重叠的问题,它看起来不光滑。 以下是我用于实现的代码:

    public class LayerScroller : MonoBehaviour
    {
    
    public Layer[] backgroundLayers;
    public Layer[] starLayers;
    
    void Start ()
    {
    
    }
    
    void Update ()
    {
    //      for (int i = 0; i < backgroundLayers.Length; i++) {
    //          backgroundLayers [i].MoveLayer ();
    //      }
    
        for (int i = 0; i < starLayers.Length; i++) {
            starLayers [i].MoveLayer ();
        }
    }
    }
    
    public class Layer : MonoBehaviour
    {
    
    public Transform prevGroupLayer;
    public float speed;
    
    public void MoveLayer ()
    {
    
        Vector3 currPosition = transform.position;
        currPosition.y -= speed;
        transform.position = Vector3.Lerp (transform.position, currPosition, Time.deltaTime * 10f);
    
     //     transform.Translate (Vector3.right * -speed * Time.deltaTime);
    
        if (transform.position.y <= -GameConstants.BACKGROUND_LENGTH) {
            Vector3 currentPosition = transform.position;
            currentPosition.y = (prevGroupLayer.position.y + (GameConstants.BACKGROUND_LENGTH)) - speed * Time.deltaTime;
            transform.position = currentPosition;
        }
    }
    }
    

    压榨机 脚本正在控制所有子层,每个层包含

    enter image description here

    请给我一些指导来解决这个重叠的问题,我肯定是犯了一些小错误。

    0 回复  |  直到 7 年前