c# - 对象在前一个对象之上实例化
问题描述
我编写了一个脚本,当我的角色到达特定位置时,应该实例化一个关卡。它在第一次实例化时完美运行。但在第二次,它直接在前一个关卡之上实例化关卡。这是正在发生的事情的视频: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;
解决方案
由于它是 2D 游戏,因此您不应该真正使用 Vector3 类的“z”。我想你可能打算把new Vector2 (-0.39f, -2f + transform.position.y)
而不是new Vector2(-0.39f, -2f + transform.position.z)
.
推荐阅读
- c - SIGSEGV 不能被 sigaction 捕获两次
- java - Javafx ListView 动态更新
- c# - 引用另一个项目,但不能在我当前的项目中使用它
- c# - Selenium click 方法正在执行然后超时
- mysql - 防止脚本在 docker 容器中退出
- java-8 - 如何解决 Java 8 函数式编程中的不兼容类型错误
- java - 改造不包含参数
- javascript - 在特定的执行上下文(iframe)上运行 javascript
- python - 使用 tensorboard Python Tensorflow 显示模型的实时训练
- firefox - 你可以使用 Rust 编写 Firefox 附加组件/扩展吗?