我在Android上制作2D益智游戏。当我只使用一个对象时,我的代码工作正常。但后来我添加了更多的物体,现在当我触摸其中一个拼图时,我将所有拼图都拖到屏幕上。顺便说一句,这个脚本附加到所有部分。 这是我的代码:
public Transform right_particle;
public Transform wrong_particle;
public string pieceStatus = "";
void Update()
{
if (pieceStatus != "locked" && Input.GetMouseButton (0)) {
float distance_to_screen = Camera.main.WorldToScreenPoint (gameObject.transform.position).z;
Vector3 pos_move = Camera.main.ScreenToWorldPoint (new Vector3 (Input.mousePosition.x, Input.mousePosition.y, distance_to_screen));
gameObject.transform.position = new Vector3 (pos_move.x, pos_move.y, pos_move.z);
}}
void OnTriggerStay2D(Collider2D other)
{
if ((other.gameObject.name == gameObject.name) && Input.GetMouseButtonUp(0) ){
other.GetComponent<BoxCollider2D> ().enabled = false;
GetComponent<BoxCollider2D> ().enabled = false;
transform.position = other.gameObject.transform.position;
pieceStatus = "locked";
Instantiate (right_particle, other.gameObject.transform.position, right_particle.rotation);
}
else if ((other.gameObject.name != gameObject.name) && Input.GetMouseButtonUp (0)) {
Instantiate (wrong_particle, other.gameObject.transform.position, right_particle.rotation);
}
}
我也尝试过使用光线投射,但没有任何一个动作。我还有一个问题是OnTriggerStay2D,&#34;否则如果&#34;部分。 OnTriggerStay2D应根据拼图块实例化其中一个粒子是否在正确的位置。但是当它在正确的位置时,它会实例化它们。我可以使用任何帮助,尤其是第一个问题。谢谢大家。