所以我有一个脚本可以检测到TAP,并且当我点击一个带有碰撞器的2D物体时会做一些事情。我的问题是我在3个独立的物体上有这个,如果我点击它们中的任何一个它们都会移动(都有相同的脚本,我不能放不同的脚本,因为我有11个对象,我可能在其中一个3)相同的场景中有2个相同的对象。请帮忙。这是我的代码:
void Update()
{
if(platform == RuntimePlatform.Android || platform == RuntimePlatform.IPhonePlayer)
{
if(Input.touchCount > 0)
{
if(Input.GetTouch(0).phase == TouchPhase.Began)
{
checkTouch(Input.GetTouch(0).position);
}
}
}
}
void checkTouch(Vector3 pos)
{
Vector3 wp = Camera.main.ScreenToWorldPoint(pos);
Vector2 touchPos = new Vector2(wp.x, wp.y);
var hit = Physics2D.OverlapPoint(touchPos);
if(hit.collider2D)
{
Move();
}
}
答案 0 :(得分:1)
您应该做的是将您点击的对象的信息发送到
您的Move()
方法,以便该方法知道要移动的内容,您可以像这样发送它
if(hit.collider2D)
{
Move(hit.collider2D.gameObject);
}
hit
是collider2D
,所以你可以这样做
if(hit)
{
Move(hit.gameObject);
}