【发布时间】:2013-02-13 11:32:08
【问题描述】:
我正在 Unity3d 中制作纸牌游戏。我使用 c# 以编程方式将卡片创建为游戏对象。我想知道如何使每个对象(卡片)在鼠标按钮单击时移动,我尝试使用 Raycast 对撞机,但它不起作用。我正在尝试访问父游戏对象,它是网格的整个封面,它是对撞机对象/组件,我想通过它访问子游戏对象(只是为了移动一个位置)。有没有简单的方法来解决这个问题或您有更好的方法以其他方式完成所有这些工作吗?
更新:
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);
}
}
【问题讨论】:
-
能否贴出你使用的光线投射对撞机的代码?
-
是的。我使用了以下代码 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); } }
标签: c# unity3d gameobject