【发布时间】:2013-01-12 11:51:27
【问题描述】:
在我正在构建的游戏中,我想制作一个表示平铺地图的 UIView。我想知道填充 UIImageViews 网格的 UIView 在屏幕上设置动画时是否会滞后?我的第一个想法是,如果 UIVIew 真的被优化了,如果它们不在屏幕上,子视图会知道不绘制自己,但我不知道 UIView 如何优化绘图的细节。
另外,如果这种方法可行,在出现问题之前我可以在一个视图中拥有多少个 64x64 像素图块是否有上限?
【问题讨论】:
-
如果要表示平铺地图,为什么不使用
CATiledLayer?这就是为在例如地图中看到的平铺提供支持的原因。它提供了具有交叉淡入淡出、支持不同缩放级别等的异步图块绘制。 -
daayummn...上面的可靠评论
-
@KevinBallard 谢谢你的这个小见解!我现在正在调查!我们在这里时对原始问题有什么想法吗?
-
@InkGolem:如果你按照你最初的想法去做,我建议你删除屏幕外的图像视图(假设开始时网格足够大)。使用滚动视图委托方法很容易做到这一点。鉴于此,您遇到的任何延迟都可能是由于尝试在主线程上处理一堆图像数据(这是
CATiledLayer的一个好处;所有绘图都发生在后台线程上)。 -
我认为像 cocos2d 这样的东西会对你有更多帮助 BTW 可怕的问题名称
标签: iphone ios uiview uiimageview uikit