About This Site

Unity入門(2) Translateでオブジェクトを動かす

Unity入門シリーズ第1弾はスワイプでの操作について学びました。

前回の記事:スワイプ(ドラッグ)でオブジェクトを操作する

第2弾はTransformクラスのTranslate関数を使ってオブジェクトを移動させる方法を説明したいと思います。

Translate関数でオブジェクトを動かそう

Translate関数とは

Transformクラスの関数で、ゲームオブジェクトを移動させることができます。

transform.Translate(x, y, z);

と記述すると、3次元方向それぞれへの移動量を指定できます。

動かすオブジェクトを配置する

動かしたいオブジェクトをエクスプローラーからSceneビューにドラッグ&ドロップします。今回もぴよたそさんからお借りしてます!

オブジェクトを動かす

スクリプトファイルを作成する

第1弾と同じように「Create」-「C# Script」でスクリプトファイルを作成して名前を付けましょう。

スクリプトにコードを書く

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterController : MonoBehaviour {
float x;
float y;
void Start()
{
x = Random.Range(-0.01f, 0.01f);
y = Random.Range(-0.01f , -0.1f);
}
void Update()
{
transform.Translate(x, y, 0);
if (transform.position.y < -6f)
{
Destroy(gameObject);
}
}
}

Random.Rangeで移動量をランダムに設定してます。

また画面外までオブジェクトが落ちたら消す処理を入れてます。

スクリプトをオブジェクトに紐づける

作成したスクリプトをドラッグして動かすオブジェクトにドロップします。

実行する

オブジェクトが落ちてくるのを確認してください。

次の記事:衝突判定とアニメーション

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