【发布时间】:2014-02-22 21:13:26
【问题描述】:
我目前正在使用 Xcode、sprite kit 构建游戏,现在已平铺。游戏很简单,一个人从一个街区跳到另一个街区,但如果他们撞到一边,游戏就结束了。现在是他们无论如何都通过平铺创建一个块供人跳上。并且在整个游戏中不断重复和前进以供人跳上,我希望物体具有不同的高度和宽度?请帮忙?!
【问题讨论】:
标签: ios sprite-kit tiled
我目前正在使用 Xcode、sprite kit 构建游戏,现在已平铺。游戏很简单,一个人从一个街区跳到另一个街区,但如果他们撞到一边,游戏就结束了。现在是他们无论如何都通过平铺创建一个块供人跳上。并且在整个游戏中不断重复和前进以供人跳上,我希望物体具有不同的高度和宽度?请帮忙?!
【问题讨论】:
标签: ios sprite-kit tiled
您可以做的是创建一种重用机制,该机制将重用节点而不是创建和销毁它们。来自UITableView 或UICollectionView 的众所周知的机制。
你会实现一个方法:
- (SKNode *)dequeueReusableNode;
从某个存储中重用SKNode,例如NSMutableArray(从数组中获取第一个对象,然后从数组中删除它并返回它)。如果数组为空,则方法返回nil。
然后你检查你是否从dequeueReusableNode方法得到一个节点,如果是nil,你创建一个新的节点实例。如果不是nil,则使用您的数据对其进行配置。
这适用于应该重用的每个可见节点。
完全离开屏幕的节点被发送到reuseQueue——它们的所有属性值都返回到默认状态,然后节点被添加到NSMutableArray的末尾,即reuseQueue。
【讨论】: