Android 游戏对象的多点触摸检测
我对Unity中的多点触摸功能有问题。我目前正在制作一个2d手机游戏,2到6名玩家必须将手指放在一个手机屏幕上的圆圈上。当所有参与者都在触摸一个圆圈时,圆圈和背景必须改变颜色,然后开始随机倒计时。当背景再次改变颜色时,关键是不要成为最后一个移开手指的人 所以我想在触摸游戏对象时改变它的颜色,并且能够为一定数量的游戏对象改变颜色。我无法让游戏对象改变颜色,因此我想知道如何检测游戏对象是否被触摸 这是我到目前为止检测触摸的代码:Android 游戏对象的多点触摸检测,android,unity3d,touch,Android,Unity3d,Touch,我对Unity中的多点触摸功能有问题。我目前正在制作一个2d手机游戏,2到6名玩家必须将手指放在一个手机屏幕上的圆圈上。当所有参与者都在触摸一个圆圈时,圆圈和背景必须改变颜色,然后开始随机倒计时。当背景再次改变颜色时,关键是不要成为最后一个移开手指的人 所以我想在触摸游戏对象时改变它的颜色,并且能够为一定数量的游戏对象改变颜色。我无法让游戏对象改变颜色,因此我想知道如何检测游戏对象是否被触摸 这是我到目前为止检测触摸的代码: void Update() { var touchCount
void Update()
{
var touchCount = Input.touchCount;
for (int i = 0; i < touchCount; i++)
{
Touch touch = Input.GetTouch(i);
Ray ray = Camera.main.ScreenPointToRay(GetComponent<Camera>().ScreenToWorldPoint(new Vector3(touch.position.x, touch.position.y, transform.position.z)));
RaycastHit info;
if (Physics.Raycast(ray, out info))
{
var spriteRend = info.collider.GetComponent<SpriteRenderer>();
if (touch.phase == TouchPhase.Began && spriteRend != null)
{
ChangeColor(spriteRend);
fingers.Add(touch);
}
else if (touch.phase == TouchPhase.Ended)
{
ChangeColor(spriteRend);
fingers.Remove(touch);
}
}
}
if (fingers.Count == players)
ready = true;
else
ready = false;
}
void Update()
{
var touchCount=Input.touchCount;
对于(int i=0;i
为了理解:一个显示器上有多个播放器?您将如何确保玩家触摸自己的游戏对象?他们可以碰任何人,对吗?我想我们需要更多关于你剧本的背景知识,并了解问题的具体内容;)