我正在考虑放置图像的平面,我希望这个平面沿x轴移动。我的问题是,当我点击平面时,它应该移动到一定距离,然后翻转或旋转平面和旋转后它应该移回原来的位置。例如:如果图像是玩具我想让玩具向左移动5个单位,那么玩具的图像应该旋转到180然后再移回5个单位到右边的原始位置,这个过程应该发生在我点击飞机/图像时。我是编程和团结的新手,所以我无知我应该怎么做?有什么想法吗?请让我知道。
有没有更简单的方法呢????
var moveforward;
function Start(){
moveforward = false;
}
function Update(){
if(moveforward)
forwardmovement();
else if(!moveforward)
backwardmovement();
}
function forwardmovement(){
transform.position.x += 1 * Time.deltaTime;
yield WaitForSeconds(1);
moveforward = false;
}
function backwardmovement(){
transform.position.x -= 1 * Time.deltaTime;;
yield WaitForSeconds(1);
moveforward = true;
}
这让我的图像沿x轴移动但是在它达到1个单位后我想让它旋转然后将-1个单位移回原来的位置。(我做错了吗?)
答案 0 :(得分:0)
如果我正确理解您的问题,您可以使用Vector3.Lerp来实现此目的。 Lerp可以顺利移动物体。请注意,输入具有from和to位置。只需在to-Vector3的x轴上添加5即可。
至于旋转,请使用Quaternion.Lerp。这将平滑地旋转您的对象。完成此操作后,再次使用Vector3.Lerp将其移回。
您说要通过单击对象来实现此目的。您可以按Input.GetButtonDown("Fire1")
获取点击次数。只需使用“Camera.main.ScreenPointToRay(Input.mousePosition);”。有了它,你可以检查RayCast是否有什么东西以及该对象的名称是什么。如果是玩具,请移动玩具。