電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
關於2D動作遊戲中,攝影機鏡頭的問題。

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式演算法
上一篇主題 :: 下一篇主題  
發表人 內容
黑黑
稍嫌羞澀的路人


註冊時間: 2011-02-05
文章: 2
來自: 台灣
28.07 果凍幣

發表發表於: 2011-2-5, PM 6:40 星期六    文章主題: 關於2D動作遊戲中,攝影機鏡頭的問題。 引言回覆

大家好,初次來到這個論壇,請多多指教-。

小弟先說明一下最近在製作一款 純2D動作遊戲。使用的語言是C++,Lib使用他人改過的DirectX。
移動方式採用橫向卷軸,小弟想讓攝影機鏡頭可以一直停在玩家身上,也就是角色的座標永遠在畫面中央。因此利用只移動背景造成視覺差來移動玩家,而非玩家本身移動。

這類型的參考遊戲像是PS2奧丁領域或是Wii朧村正。

小弟將敵人放入後,對敵人的行動就相當傷腦筋了-

舉例來說:
敵人跳躍,就要將敵人移動量+背景移動量算進去,(因為玩家座標始終是不動的)。由於敵人每個一舉一動都要計算,再加入多重背景後,整個原始碼既混亂又複雜。

想請教各位,如小弟想用這種方式(鏡頭始終跟隨玩家)製作2D遊戲,是否有其他方法(可能利用3D的攝影機但是畫面為2D遊戲?!),或是小弟可以利用其他移動方式達到同樣效果?

謝謝大家-。
回頂端
檢視會員個人資料 發送私人訊息 AIM Address
yag
Site Admin


註冊時間: 2007-05-02
文章: 684

2639.56 果凍幣

發表發表於: 2011-2-5, PM 9:18 星期六    文章主題: 引言回覆

如你所說,敵人要計算的只有
1.移動量
2.背景移動量
因此你只需要兩個座標系
第一個是相對於整個場景
第二個是相對於視窗

場景座標系
首先你要先忽略視窗
也就是說,不要去考慮角色在畫面中央,也不要去考慮視窗大小
假設你場景大小是8000x600,座標往右往下為正
裡面各個物件的座標及其移動量應該都可以很直覺地做處理
比如說敵人從(1600,400)的位置往(1580,400)的位置移動之類

視窗座標系
接著才考慮在整個場景中,擷取我們要顯示在視窗上的那一個畫面出來
很明顯,這個畫面的正中央會是主角
假設主角現在的場景座標是(1300,400)
視窗大小是800x600
也就是說,視窗左上角的位置應該對應於場景座標(900,100)
這麼一來,只要將我們在場景座標系裡計算好的物件座標扣掉(900,100)
自然就得到了我們所要的視窗座標
而從(0,0)到(800,600)範圍內的物件就是要顯示的
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
黑黑
稍嫌羞澀的路人


註冊時間: 2011-02-05
文章: 2
來自: 台灣
28.07 果凍幣

發表發表於: 2011-2-6, PM 6:40 星期日    文章主題: 引言回覆

To yag:

非常感謝您的指導,小弟受教了。
剩下實作方面小弟還要再多實驗一下,將來有新的問題還請多指教,謝謝您!
回頂端
檢視會員個人資料 發送私人訊息 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式演算法 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作