我正在Unity2D中编写一个纸牌游戏,需要将卡片拖到有固定位置的桌子上。 该卡是一个复合游戏对象,包含以下项目:
我希望能够将卡片拖到桌面上并将其从播放器的手中移除。 虽然我发现了拖放的一些实现,但它们似乎都依赖于拖动单个图像而不是游戏对象。 我可以用什么来完成这个? 提前致谢
答案 0 :(得分:1)
在脚本中实现附加到可拖动游戏对象的IBeginDragHandler, IDragHandler, IEndDragHandler
接口。
public void OnBeginDrag(PointerEventData eventData) {
// Set parent to a RectTransform that is in front of everything else
this.transform.SetParent(draggablesRoot);
}
public void OnDrag(PointerEventData eventData) {
this.transform.position = eventData.position;
}
public void OnEndDrag(PointerEventData eventData) {
// Use "EventSystem.current.RaycastAll()" to detect whether the object was dropped onto the correct panel
}