我有一些相当简单的代码,允许我抓取、移动和放开对象(在这种情况下,"LoopCubes"是我唯一希望能够拿起的东西:
public void grab(object sender, ClickedEventArgs e)
{
if ((objectTouching != null) && objectTouching.CompareTag("LoopCube") == true)
{
objectTouching.gameObject.transform.SetParent(gameObject.transform);
}
}
//Letting go of grip
public void releaseGrab(object sender, ClickedEventArgs e)
{
if (objectTouching != null)
{
objectTouching.gameObject.transform.parent = null;
}
}
这按预期工作。但是,当控制器/立方体位于盒子碰撞器(标记为触发器(内时,我想放开立方体时会出现问题。我无法放手,立方体"卡"在控制器上。我做错了什么?
由于我看不到您的代码,因此我将做出一些假设。这就是我猜测正在发生的事情:
- 输入触发器并将其设置为
objectTouching
- 抓住
objectTouching
并四处走动 - 输入另一个触发器,该触发器将
objectTouching
设置为其他内容,但仍具有上一个对象触摸
释放, - 尝试释放当前对象触摸,这是您输入的最后一个触发器 - 而不是抓取的对象。