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 はオブジェクトをスムーズに動かします。入力には from- と to の場所があることに注意してください。to-Vector3 の x 軸に 5 を追加するだけです。

回転に関しては、Quaternion.Lerpを使用します。これにより、オブジェクトがスムーズに回転します。これを行った後、再び Vector3.Lerp を使用して元に戻します。

オブジェクトをクリックしてこれを達成したいとあなたは言います。でクリックできますInput.GetButtonDown("Fire1")「 Camera.main.ScreenPointToRay (Input.mousePosition);」を使用するだけです。これにより、RayCast が何かをヒットしたかどうか、およびそのオブジェクトの名前が何であるかを確認できます。おもちゃの場合は、おもちゃを動かします。

于 2013-08-29T10:42:48.477 に答える