創作內容

4 GP

Unity 2D無限背景製作

作者:阿倪│2018-01-11 20:25:34│巴幣:8│人氣:3155
在許多2D遊戲裡經常會看到同樣背景無限循環的畫面出現,雖然網路上已經有相當多相似文章了XD但今天還是要來稍微介紹一下

首先介紹一下原理,先準備兩張前後可接續的圖(這裡為了方便觀察就隨便找了一張不連續的圖),將攝影機對準第一章背景,再使用腳本使之自右向左移動,當第一張移出攝影機視野後,第二張馬上接在後面,而當第二張也移出視角後,第一張圖會立即接在第二張圖後,無限循環後就實現無限背景了~~~

下面講述一下操作:
先建立一個空專案,再加入一個Plane,取名為AD0(名子看自己習慣,不改也可以),再把要用的圖片拖曳至AD0裡。


參數如下:

(素質記得要根據攝影機及圖片本身去做調整,或是調整攝影機的視野~不然運行時可能會發生圖片不在視野內或是接續時發生圖片與圖片中間空出一大格的慘劇XD)

然後再新增一個Plane,重複上述步驟後將第二張排至第一張後面



接下來開始寫腳本,程式碼如下:
using UnityEngine;  
using System.Collections;  

public class scripts1 : MonoBehaviour {  

//Move Speed;  
private float mSpeed=6.0F;  
void Start ()   
{  

}  


void Update ()   
{  
//Translate form right to left  
transform.Translate(Vector3.right * Time.deltaTime * mSpeed);  
// If first background is out of camera view,then show sencond background  
if(transform.position.x<=-20.7F)  
{  
//We can chenge this value to reduce the wdith between 2 background  
transform.position=new Vector3(20.7F,transform.position.y,transform.position.z);  
}  
}  
}  
(記得腳本名子要和程式碼內相同,這邊是用scripts1)
其中20.7這個值是第一張圖片離開攝影機的臨界值,用第二張的Position的X值就可以了
以下是範例:
感謝您的閱讀~~
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3851531
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 2 篇留言


謝謝你的分享~
我自己寫的版本都會有背景切換時,無法貼齊的問題,但你的不會。
感謝教學,受益良多!!

01-13 23:21

賽普魯斯
謝謝分享,另外請教~
我想左右都做無限循環的效果,該怎處理?

04-29 02:52

我要留言提醒:您尚未登入,請先登入再留言

4喜歡★jiehuo860305 可決定是否刪除您的留言,請勿發表違反站規文字。

追蹤私訊切換新版閱覽

作品資料夾

ilove487
奇幻小說 長篇連載 發生在台灣的故事 真氣與魔法的戰鬥 克蘇魯的世界與敵人 歡迎來逛逛❤❤看更多我要大聲說昨天11:42


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】