C# 在Unity3D(Flappy Plane)中制作“Flappy Bird”游戏,如何摧毁障碍物?

C# 在Unity3D(Flappy Plane)中制作“Flappy Bird”游戏,如何摧毁障碍物?,c#,unity3d,C#,Unity3d,我是Unity3D和C编程的初学者。我正在制作一个名为flappy plane的游戏。问题是障碍物离开屏幕后会被摧毁。我制作了一个预置和一个代码,在场景的某个地方用这个预置的克隆来实例化,当然,这个预置会让障碍物向左移动 我尝试使用以下代码: void Update() { Vector2 position = Camera.main.WorldToScreenPoint (transform.position); if (position.x < Screen.width

我是Unity3D和C编程的初学者。我正在制作一个名为flappy plane的游戏。问题是障碍物离开屏幕后会被摧毁。我制作了一个预置和一个代码,在场景的某个地方用这个预置的克隆来实例化,当然,这个预置会让障碍物向左移动

我尝试使用以下代码:

void Update()
{
    Vector2 position = Camera.main.WorldToScreenPoint (transform.position);
    if (position.x < Screen.width)
    {
// Here I will try to destroy the obstacle.
        }
    }
这段代码不是真正的逻辑,所以请大家帮助我。我已经试过了,但我不知道怎样才能做到宽度。我想摧毁加速比赛的障碍。谢谢

MonoBehavior.DestroygameObject是你想要的吗?我真的不确定你在这个过程中挣扎的是哪一部分

编辑: 经澄清后,以下是修改后的答案:

追踪玩家坐标的位置,当一个物体发现它自己的坐标小于玩家坐标减去玩家在屏幕上的偏移量时,销毁它。基本上,假设相机始终以播放器为中心并随播放器移动,则类似于以下内容:

void Update()
{
    int xBound = Camera.main.transform.position.x - (Screen.width / 2);
    if (transform.position.x < xBound)
    {
        MonoBehaviour.Destroy(gameObject)
    }
}

不,我知道怎么做,但是上面写的代码不起作用,很可能if语句不正确,我不知道该怎么做。编辑我的答案以适应问题澄清。仍然不起作用。。我不知道你是否理解我的要求。