我正在尝试游戏,只要PREFAB文件击中一个看不见的二维对撞机,当用户按下一个键时,图片就会被破坏。我整理了预制克隆问题,但似乎void OnCollisionEnter2D的方法似乎无法识别KeyStroke命令。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class A2 : MonoBehaviour {
void OnCollisionEnter2D (Collision2D col)
{
if(col.gameObject.name == "NeatPrefab(Clone)")
{
print ("works!");
if (Input.GetKeyDown (KeyCode.C)) {
//if object hits collider, then you can delete!
}
}
}
}
我是否需要创建新方法或类似的东西?
答案 0 :(得分:0)
您应该尝试Input.GetKey
而不是Input.GetKeyDown
,如果用户在发生碰撞时按下了该键,则应该检测到它。
现在你的代码只有在用户在发生碰撞的时刻按下键时才会起作用 - 时机非常棘手,我怀疑这是预期的行为。