首页 > 解决方案 > 对象在前一个对象之上实例化

问题描述

我编写了一个脚本,当我的角色到达特定位置时,应该实例化一个关卡。它在第一次实例化时完美运行。但在第二次,它直接在前一个关卡之上实例化关卡。这是正在发生的事情的视频:https ://vimeo.com/283706809这是代码(不是所有代码,只有与此问题相关的代码):

if (collision.tag == "Score2")
{
    scoreText.text = (++score).ToString();
    Destroy(collision.gameObject);
    int randomNumber = Random.Range(0, 2);
    if (randomNumber == 0)
        Instantiate(course[0], new Vector2(-0.39f, -2f + transform.position.z), transform.rotation);
    else
        Instantiate(course[1], new Vector2(-0.39f, -2f + transform.position.z), transform.rotation);
    return;

标签: c#unity3d2dinstantiation

解决方案


由于它是 2D 游戏,因此您不应该真正使用 Vector3 类的“z”。我想你可能打算把new Vector2 (-0.39f, -2f + transform.position.y)而不是new Vector2(-0.39f, -2f + transform.position.z).


推荐阅读