今回は、Translate関数を使って簡単にオブジェクトを移動させる方法を紹介していきます。
準備
移動させるようにするオブジェクトを用意
スクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Translate : MonoBehaviour
{
float Xvalue = 1;
float Zvalue = 1;
void Update()
{
Move();
}
private void Move()
{
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(Xvalue, 0, 0);
}
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.Translate(-Xvalue, 0, 0);
}
if (Input.GetKeyDown(KeyCode.UpArrow))
{
transform.Translate(0, 0, Zvalue);
}
if (Input.GetKeyDown(KeyCode.DownArrow))
{
transform.Translate(0, 0, -Zvalue);
}
}
}
このスクリプトをオブジェクトにアタッチします。
実行をしてみますと
というように、移動ができるようになりました!
Translateを使ってスムーズな移動をさせたい方はこちら↓
スクリプトの解説
まずは、この二つの変数をグローバル宣言します。
float Xvalue = 1;
float Zvalue = 1;
Translate関数は、現在いる座標に指定した値を足してオブジェクトを移動させる関数です。
Translate(X, Y, Z)というようにX,Y,Zそれぞれに値を入れてあげればその分その座標に値が足されます。
例えばこのプログラム
if (Input.GetKeyDown(KeyCode.RightArrow))
{
transform.Translate(Xvalue, 0, 0);
}
Xvalueは「1」としてグローバル宣言していますので、ここでは右矢印ボタンを押すとX座標に「1」足しています。
if (Input.GetKeyDown(KeyCode.LeftArrow))
{
transform.Translate(-Xvalue, 0, 0);
}
このプログラムでは、左矢印ボタンを押すとX座標に「-1」足します。
というようなスクリプトになっています。
まとめ
Translate関数で簡単な移動ができました!
コメント