iphone - 多层视差 ScrollView ?

标签 iphone cocoa-touch

我正在寻找为游戏应用程序设置多层视差滚动背景,并且想知道如何解决这个问题。该应用程序将从左向右滚动(在横向模式下),我希望设置三层,前景树木、背景山丘和远处的云彩都以视差移动。后面的每一层都会以比前面的层稍慢的速度滚动。

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

我最初的想法是设置一个 UIScrollView,然后使用 3 个独立的 UIView,每个 UIView 都有一个 UIImage 作为所需的层。 UIImages 的透明区域将具有 Alpha,因此下面的图层在后面可见。

我的问题是,这是解决这个问题的正确方法吗?任何人都可以给我任何指示,告诉我如何在深度返回时降低每层的滚动速度。 (即树木 100%、山丘 85%、云 50%)

最佳答案

据我所知,UIScrollView 将使用位 block 传送操作来移动需要滚动的整个区域以提高速度。这意味着一切都会按照前台的速度移动,并且您必须进行大量重绘才能修复它。

更好的选择是考虑使用 OpenGLES 来获得您自己的图层图形的硬件加速位 block 传送。这是一个起点 - 2D games with OpenGL

关于iphone - 多层视差 ScrollView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3080060/

相关文章:

objective-c - 错误消息,不应从辅助线程调用UIKit

iphone - Objective-C 中的实例变量是否默认设置为 nil?

cocoa-touch - Cocoa Touch - 以编程方式添加 UIImageView?

iphone - 如何使用 CSS 删除 iPhone 下拉列表中的 '...'?

任何方向的 ios 加速度计值

cocoa-touch - 完全解除分配 Objective-C 单例

iphone - 如何找到归档的目标文件?

iphone - 为推送通知购买服务器

iphone - 使用 MFMailComposeViewController 发送 HTML 格式的电子邮件

iphone - AFNetworking:setImageWithURLRequest 未设置图像