我创建了一个游戏对象(Brick
)并添加了一个脚本(BrickScript
)。在此脚本中,如果满足某个条件,我会创建一个Window
游戏对象。请参阅以下代码:
if (hasWindow) {
if (window == null) {
window = (GameObject)Instantiate (Resources.Load ("Prefabs/OtherPrefabs/Window"), new Vector3 (transform.position.x + 0.5 * gameObject.GetComponent<SpriteRenderer> ().bounds.size.x, transform.position.y + 0.5f*gameObject.GetComponent<SpriteRenderer>().bounds.size.y, transform.position.z), Quaternion.Identity));
window.name = gameObject.name + "Window";
}
}
Brick
和window
游戏对象实际上重叠了一点。我意识到当hasWindow = true
(创建窗口)时,下面代码中的条件不满足,而其他游戏对象不会与Brick
发生冲突。但是当hasWindow = false
(未创建window
)时,一切似乎都运行良好。我该如何解决这个问题?
void OnMouseDown () {
if (Input.GetMouseButtonDown(0)) {
Debug.Log ("touch down");
hasBeenTouched = true;
}
}