2010-06-20 56 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