0

我正在考虑一个放置图像的平面,我希望这个平面沿 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 个单位移回其原始位置。(我做错了吗??)

4

1 回答 1

0

如果我正确理解您的问题,您可以使用Vector3.Lerp来实现。Lerp 平稳地移动您的对象。请注意,输入具有起点和终点位置。只需在 to-Vector3 的 x 轴上添加 5。

至于旋转,请使用Quaternion.Lerp。这将平滑地旋转您的对象。完成此操作后,再次使用 Vector3.Lerp 将其移回。

您说您想通过单击对象来实现此目的。您可以通过点击获得Input.GetButtonDown("Fire1")。只需使用“ Camera.main.ScreenPointToRay (Input.mousePosition);”。有了它,您可以检查 RayCast 是否击中了某些东西以及该对象的名称是什么。如果是玩具,请移动玩具。

于 2013-08-29T10:42:48.477 回答