0
我有一個2400x480像素的平鋪背景。還有一個視差效果的遠層。是否用for循環繪製背景邏輯?在opengl中繪製背景的適當方法是什麼?
for(int i=0;i<100;i++) {
//Drawing code like 0+2400*i ...
}
我有一個2400x480像素的平鋪背景。還有一個視差效果的遠層。是否用for循環繪製背景邏輯?在opengl中繪製背景的適當方法是什麼?
for(int i=0;i<100;i++) {
//Drawing code like 0+2400*i ...
}
我希望這可以讓你開始,但我真的不知道...
我認爲在紋理顯示所有在一次以下。由於紋理的大小 - 2400*480 = (3*800)*480
- 我認爲這可能不正確,但無論如何。
對於每個圖層,都有兩個具有固定紋理座標的四邊形。最初,第一個四邊形是可見的;在動畫過程中,第一個被移出屏幕,第二個被移入。紋理邊框必須匹配,否則會出現裂縫。
+-------------++-------------+ | || | | || | +-------------++-------------+ ^ ^ visible ... as time progresses ... +-------------++-------------+ | || | | || | +-------------++-------------+ ^ ^ visible
可以爲底層和下一層做到這一點。對不同距離的圖層使用不同的速度。當有多個圖層時,您將需要混合。
如果第一個假設證明不正確,則需要在動畫過程中修改紋理座標。有一個全屏四邊形,紋理座標設置爲紋理的三分之一。然後,將所有四個座標以同一方向線性轉換,直到頂部被擊中。此時你需要再次開始顯示前三分之一 - 例如使用第二個四分之一。
錯誤,所以你有一個平鋪的背景?或者是背景一個四邊形和瓷磚覆蓋它?一塊瓷磚是2400x480? – 2012-04-12 04:54:53
@StefanHanke是的,我只有一個大的瓷磚(2400x480),我的角色在它上面移動。我想滾動這個瓷磚。我還有一個遠視差層。我如何繪製我的背景? – droidmachine 2012-04-12 19:26:09
@StefanHanke有何評論? – droidmachine 2012-04-15 17:21:15