我想了两天。我仍然没有取得任何进展。 我不知道如何做到这一点,从2D视图中的鼠标点击位置飞走?Unity3D如何让对象消失形成鼠标点击位置2D
我想这样的:
pos = Input.mousePosition;
Vector3 realWorldPos = Camera.main.ScreenToViewportPoint(pos);
print("MOuse pos: " + realWorldPos);
//print(realWorldPos);
Vector3 velo = GetComponent<Rigidbody2D>().velocity;
if (realWorldPos.x < 0.5)
{
velo = new Vector3((realWorldPos.x * speed), velo.y);
}
else if(realWorldPos.x > 0.5)
{
velo = new Vector3((realWorldPos.x * speed) * (-1), velo.y);
}
if (realWorldPos.y < 0.5)
{
velo = new Vector3(velo.x, realWorldPos.y * speed);
}
else if (realWorldPos.y > 0.5)
{
velo = new Vector3(velo.x, (realWorldPos.y * speed) * (-1));
}
GetComponent<Rigidbody2D>().velocity = velo;
但它不工作,因为我想要的。
可以做到这一点吗?
这些物体是否在移动?另外,你的脚本附加了什么?单个对象?点击必须在这个范围内发生吗?是否有理由在视口空间而不是世界空间中进行此操作? –
有PLAYER,CAMERA以下玩家与SmoothCamera2D脚本,并点击功能试图在PLAYER对象,因为我没有另一个想法。 Ofc不一定有任何范围。我确实使用了视区空间,因为当我得到前世界时我不知道如何在世界空间中做速度。 -305,3506个位置,在0-1,0-1位更容易。 – xqz
但是应该飞走的物体不是玩家?玩家是否应该把它们推开,或者它应该是你点击的点(我假定玩家应该移动到)?再说一次,与鼠标位置相关的推送效果是否存在范围限制? –