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

2017-11-23 @niketcha

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

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

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

Sponsored Link

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で移動量をランダムに設定してます。

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

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

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

実行する

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

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

-アプリ開発, Unity

コメントを残す

お名前もメールも入力は任意です。お気軽に指摘や質問などしていただけると嬉しいです。

Gravatarに登録すると、お好きな画像をアバターに設定できます。

Copyright© ニケッチャニッキ , 2017-2018 All Rights Reserved.