Ios 移动场景:SKAction动画还是更新方法中的主播点?
我的游戏基于并排的两个屏幕(A和B),但设备屏幕一次只能显示其中一个。Ios 移动场景:SKAction动画还是更新方法中的主播点?,ios,sprite-kit,anchorpoint,Ios,Sprite Kit,Anchorpoint,我的游戏基于并排的两个屏幕(A和B),但设备屏幕一次只能显示其中一个。 例如,A位于位置(0,0),B位于位置(320,0) 我尝试了两种从A切换到B的解决方案: 首先,我将整个场景放在一个节点中,即主节点。转换 从A到B,只需将主节点位置设置为(0,-320) 另一个解决方案,更优雅的IMHO(但不适用于使用Coco2D库的用户),是将场景主播点移动到(0,-1) 现在,如果我想通过动画从A转到B,必须调整以下两种解决方案: 通过使用一个动作 [主运行动作:[SKAction-moveT
例如,A位于位置(0,0),B位于位置(320,0) 我尝试了两种从A切换到B的解决方案:
- 首先,我将整个场景放在一个节点中,即主节点。转换 从A到B,只需将主节点位置设置为(0,-320)
- 另一个解决方案,更优雅的IMHO(但不适用于使用Coco2D库的用户),是将场景主播点移动到(0,-1)
- 通过使用一个动作
[主运行动作:[SKAction-moveToY:-320持续时间:0.1]]代码>
- 通过在
方法中设置锚点动画update
如果(anchorY>-1)anchorY-=0.1代码>
- 向场景中添加一个子节点以处理定位(我们称之为mapNode)
- 将表示场景的任何精灵添加到mapNode
- 更新时仅移动MapNode位置
我希望这能回答你的问题。这里的问题到底是什么?嗯。。。问题可能是“滚动地图的最佳实践是什么”。在不同大小的屏幕/手机上测试它们,看看它们在不断变化的场景大小下的表现。我认为最安全的方法是把你需要移动的所有东西放在场景的子节点中,然后改变子节点的位置。更改Anchorpoint可能会产生不必要的副作用。没有明确提到Anchorpoint在[0 1]范围内是Apple doc。是的,图表确实显示了0,0到1,1,但没有说明必须这样做。你的问题不清楚,我试着帮你回答。你的问题到底是什么?两个人说“问题是什么”,也许问题不清楚:)我编辑了我的问题。谢谢你的更新。你在描述我问题中的第一种方法,除非你在
update
方法中更新你的地图位置(因为你的地图是动态移动的)。然而,我现在不接受你的回答,因为我想得到其他的建议+无论如何,我接受这个答案,因为我的问题没有具体要求,但我希望得到更多的反馈。