2015年10月30日 星期五

【Unity】2D背景捲動

2D背景捲動,是以前在製作小遊戲提到的功能之一,在Unity升到5.0後的版本,當時的程式碼寫法和圖片設定也有些改變,這次就來提一下,感謝告訴我這個問題的網友。
Unity-下樓梯遊戲製作(1/3)

當時是這麼做的:
using UnityEngine;
using System.Collections;
public class BackGroundLoop : MonoBehaviour {
    public float speed = 0.2f;
    void Update () {
        renderer.material.mainTextureOffset = new Vector2 (0, Time.time * speed);
    }
}

物件下的renderer可以直接呼叫然後修改,但renderer在目前的版本中需要GetComponent才可以取得,所以需要修改成這樣:
using UnityEngine;
using System.Collections;
public class BackGroundLoop : MonoBehaviour {
    public float speed = 0.2f;
    void Update(){
        GetComponent<Renderer>().material.mainTextureOffset = new Vector2(0, Time.time * speed);
    }
}

在作為圖片背景的2D圖,需要將Wrap Mode調整成Repeat,才有辦法讓圖有loop的效果。

將背景圖和程式碼帶入,先前的效果就可以在做出來:

在英文版Unity官方資源中,有一個射擊遊戲的範例是使用兩張圖交換位置的方式,不過要loop的是同張圖的話,調整圖片本身的渲染座標是比較簡單的方式,這次就到這裡。

素材:
Game Studio Rxus(已關閉):http://rxus.digiweb.jp/

1 則留言:

  1. 不好意思,想問一下為甚麼我弄出來他是上下的?

    回覆刪除

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...