【发布时间】:2016-09-05 16:42:29
【问题描述】:
我是 Unity 的新手,所以.. :) 我正在制作 2D 游戏,我的角色应该按 F 进入汽车,Unity 应该加载一个新场景。这是我的 C# 代码:
void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Player")
{
//Debug.Log("TRIGGER");
if (carTitle == "98" && Input.GetKeyDown(KeyCode.F))
{
SceneManager.LoadScene("NewScene");
//Debug.Log("TRIGGER 98");
}
}
}
有问题。我使用了两条 Debug 行来查看这里到底发生了什么。 当我的车与播放器相撞时,第一个是说“TRIGGER”,它工作正常。 但第二个保持沉默。每辆车都有一个特定的号码公共字符串carTitle,如果我的车是98号并且玩家在汽车和玩家碰撞时按下按钮F,它应该加载一个新场景。我对吗?但是什么也没发生。
【问题讨论】:
-
在第二个 if 语句上设置断点,看看实际值是否符合您的预期。
-
是的,carTitle = 98,KeyCode = F,但仍然没有任何反应。但!如果我删除我的 Input.GetKeyDown(KeyCode.F),只留下 carTitle 检查 - 它工作正常。读取密钥时出现问题。
-
这个脚本附加到我的车上,而不是播放器上。有关系吗?