2010-06-20 80 views
2

我正在尋找爲遊戲應用程序設置多層視差滾動背景,並想知道如何去做這件事。應用程序將從左向右滾動(在橫向模式下),我正在設置三層,前景樹,背景山和遠處的雲都以視差方式移動。返回的每一層都會以比前一層稍慢的速度滾動。多層視差滾動視圖?

Foreground Trees (Front) 
Background Hills (Middle) 
Distant Clouds (Back) 

我的初始思想爲設置一個單一的UIScrollView,然後使用各3個獨立UIViews與一個UIImage爲所需的層。 UIImage將爲透明區域設置alpha,以便後面的圖層可見。

我的問題是,這是正確的方式去做這件事,任何人都可以給我任何關於如何降低每層的滾動速度,因爲他們回溯深入。 (即樹木100%,山丘85%,雲朵50%)

+0

請使用CoreAnimation或OpenGLES而不是UIKit進行遊戲! – 2010-06-20 20:06:38

+0

謝謝,那是我正在尋找的那種信息。就像我說我只是想解決如何做到這一點... – fuzzygoat 2010-06-20 20:09:06

回答

1

AFAIK,UIScrollView將移動整個區域,需要使用bit-blit操作進行滾動以獲得速度。這意味着一切都會按照前臺的步伐移動,並且您必須進行大量重繪才能解決問題。

一個更好的選擇是研究使用OpenGLES來獲得硬件加速的blit你自己的圖層圖形。這是一個起點 - 2D games with OpenGL

+0

非常感謝JBRWilkinson,我會檢查出來,謝謝你指出我在正確的方向。 – fuzzygoat 2010-06-20 20:11:16