首页 > 解决方案 > 当他有一个新位置时,我的视差在 unity2D 中加速

问题描述

我对团结很陌生,我尝试做一只“飞扬的小鸟”,其中我的障碍是视差。

但我不明白为什么。

当我的 object.x 在“-10”时,我只想将它移动到 object.x = 10。

有我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class gotoleft : MonoBehaviour
{

    public Vector3 jump;
    public float jumpForce = 0f;

    public bool isGrounded;
    Rigidbody2D rb;
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        jump = new Vector3(-1.0f, 0.0f, 0.0f);
        Debug.Log("X: " + rb.transform.position);

    }


    void FixedUpdate()
    {

            rb.AddForce(jump * jumpForce * Time.deltaTime, ForceMode2D.Impulse);

            if (rb.transform.position.x <= -40)
            {
                Debug.Log("OUAIS MEC");

                 rb.transform.position = new Vector3(10, 3.0, 0.0);


        }

    }
}


我的对象的位置还可以,但它会加速。

如果有人可以解释我,谢谢我搜索了统一文档,但我仍然有相同的 pb。

感谢您的回答。

标签: unity3d

解决方案


如果你制作“小鸟”,基本上你不需要移动小鸟本身。您必须移动障碍物和背景元素。

我没有看到您的其余代码,但很可能您正在移动鸟,这意味着当您的鸟在“X”上飞过 +40 个单位时,您的所有障碍物移动都将超出当前相机位置。


推荐阅读