【Unity】コード1行でできる!transformで移動させる方法

【PR Unityアセットストア】パブリッシャーセール開催中!

凍った川や湖が表現できるマテリアルやシェーダーのアセットIce World がクーポンコード「NATUREMANUFACTURE2024」で無料でゲットできます
7月25日 23:59まで

Ice World

はじめに

ゲームオブジェクトのtransformを直接変更して移動させる方法を紹介します。2D、3Dのどちらでも同様に移動できます!

移動方法

transform.Translateを使います。下の例は、x軸方向に1移動させるコードです。移動量を指定します。

this.gameObject.transform.Translate(1, 0, 0)

実際に使用例を見てみましょう。矢印キーを押すと上下左右に移動します。

移動速度は、speedというパラメータで調節できます。Update関数で、毎フレーム0.01移動させています。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoveTransform : MonoBehaviour
{
    public float speed = 0.01f;
    
    void Update()
    {

        if (Input.GetKey(KeyCode.LeftArrow)) this.gameObject.transform.Translate(-speed, 0, 0);
        else if (Input.GetKey(KeyCode.RightArrow)) this.gameObject.transform.Translate(speed, 0, 0);
        else if (Input.GetKey(KeyCode.UpArrow)) this.gameObject.transform.Translate(0, speed, 0);
        else if (Input.GetKey(KeyCode.DownArrow)) this.gameObject.transform.Translate(0, -speed, 0);
    }
}

このスクリプトをキャラクターにアタッチしてゲームを開始すると、キャラクターが動くようになりました!

おわりに

transformを使った移動方法でした。

当たり判定や物理エンジンを使って移動させたい場合は、こちらの記事を見てみてください。

タイトルとURLをコピーしました