【问题标题】:Object instantiates on top of the previous object对象在前一个对象之上实例化
【发布时间】:2018-08-08 15:53:17
【问题描述】:

我编写了一个脚本,当我的角色到达特定位置时,应该实例化一个关卡。它在第一次实例化时完美运行。但在第二次,它直接在前一个关卡之上实例化关卡。这是正在发生的事情的视频: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;

【问题讨论】:

  • 你的意思是把 -2f + transform.position.y 放在新的 Vector2 中吗?

标签: c# unity3d 2d instantiation


【解决方案1】:

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

【讨论】:

  • 但这不是意味着您使用的是 Z 向量吗?您已将 Z 替换为 -2f,并省略了 Y
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-13
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多