前回Android Studioで背景を動かすプログラムを作りましたが
今回はそれのUnity版です
Unityの場合やり方は他にもあるでしょうが
Android Studioと同様に背景画像をループ表示する方法です
1.画像はAndroid Studioと同じものを使用
2.背景の画像をシーン内にドラッグ&ドロップ
インスペクターの位置X Yは0にしておく スケールX Yは3にする
3.ヒエラルキーのsougenを右クリックし複製
4.複製したsougen(1)のXは17.9にする
5.プロジェクトタブにカーソルを持っていき右クリックでLoopBackとLoopBack1いうスクリプトを作成
6.スクリプトの編集
LoopBackとLoopBack1の処理内容は同じですがpublicで設定したものを共通で使えるようにしました
LoopBack
using UnityEngine; using System.Collections; public class LoopBack : MonoBehaviour { public float speed = 0.02f; public float loopSize = 17.9f; public bool isRunning = false; void Start() { isRunning = true; } void Update() { if (isRunning) { transform.Translate(-speed, 0, 0); if (transform.position.x < -loopSize) { transform.position = new Vector3(loopSize, 0, 0); } } } }
LoopBack1
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LoopBack1 : MonoBehaviour { [SerializeField] GameObject sougen; // Update is called once per frame void Update() { if (sougen.GetComponent<LoopBack>().isRunning) { transform.Translate(-sougen.GetComponent<LoopBack>().speed, 0, 0); if (transform.position.x < -sougen.GetComponent<LoopBack>().loopSize) { transform.position = new Vector3(sougen.GetComponent<LoopBack>().loopSize, 0, 0); } } } }
7.LoopBackをsougenに LoopBack1をsougen(1)にドラッグ&ドロップ
8.sougen(1)のインスペクターのスクリプトにsougenをドラッグ&ドロップ
実行すると
Unityの方がプログラムが簡単で量も少なくて済みますね