Я делаю карточную игру в Unity3d. Я создавал карты как игровые объекты программным способом, используя C#. Я хотел знать, как заставить каждый объект (карточку) перемещаться при нажатии кнопки мыши. Я пробовал использовать коллайдер Raycast, но он не работает. Я пытаюсь получить доступ к родительскому GameObject, который представляет собой всю оболочку с сеткой и его объектами/компонентами коллайдера, через которые я хочу получить доступ к дочернему GameObject (просто для перемещения позиции). Есть ли простой способ исправить это или у вас есть лучший способ сделать все это каким-то другим способом?
Обновление:
if (Input.GetMouseButton (0)) {
RaycastHit hit = new RaycastHit ();
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
if (Physics.Raycast (ray, out hit)) {
print (hit.collider.gameObject.name);
}
}