我正在为游戏应用程序设置一个多层视差滚动背景,并想知道我怎么会这样做。应用程序将从左向右滚动(在横向模式下),我希望设置三个层,前景树,背景山和远处的云都在视差中移动。返回的每一层都会以比前面一层稍慢的速度滚动。
Foreground Trees (Front)
Background Hills (Middle)
Distant Clouds (Back)
我最初的想法是设置一个UIScrollView,然后使用3个单独的UIViews,每个UIView都有一个UIImage用于所需的层。 UIImages将具有透明区域的alpha,因此下面的层可见。
我的问题是,这是解决这个问题的正确方法,任何人都可以给我任何关于如何在深度回归时降低每一层滚动速度的指示。 (即树木100%,山丘85%,云层50%)
答案 0 :(得分:1)
AFAIK,UIScrollView将移动整个区域,需要使用bit-blit操作来提高速度。这意味着一切都会按照前景的速度移动,你必须做大量的重绘才能修复它。
更好的选择是使用OpenGLES来获得自己的图层图形的硬件加速blit。这是一个起点 - 2D games with OpenGL