使用Unity中的Touch拖动和交换两个对象

问题描述 投票:0回答:1

游戏中有4个对象与sprite并排。当我拖动一个对象并将其移向第二个对象时,我希望游戏交换两个对象的位置(拖动对象应移动到第二个对象的位置,第二个对象应移动到拖动对象的位置)。截至目前,我只能拖动一个对象并将其移向第二个对象。但是,我无法换掉他们的位置?任何人都可以建议我如何做到这一点?

c# unity3d touch swap drag
1个回答
1
投票

可以使用collider2d处理碰撞。

在碰撞时,当物体接触或甚至重叠时,它们将进入非确定性状态,在那里它们可以保持交换。

我想您要保存移动对象的原始位置,当此对象与另一个可交换对象发生碰撞时,从触摸中释放移动的对象并将其变换坐标设置为触摸的对象,然后移动(再次通过设置变换坐标)将对象触摸到移动对象的起始位置。

© www.soinside.com 2019 - 2024. All rights reserved.