我的游戏基于并排的两个屏幕(A 和 B),但设备屏幕一次只能显示其中一个。
例如,A 位于 (0, 0) 位置,B 位于 (320, 0)
我尝试了两种从 A 切换到 B 的解决方案:
- 首先,我将整个场景放入一个节点,即 MainNode。要从 A 切换到 B,只需将 MainNode 位置设置为 (0, -320)。
- 其他解决方案,更优雅的恕我直言(但不适用于使用Coco2D库的 LearnCoco2D),是将场景锚点移动到 (0, -1)
现在,如果我想通过动画从 A 转到 B,则必须调整这两种解决方案:
通过使用 SKAction
[Main runAction:[SKAction moveToY:-320 duration:0.1]];
通过在
update
方法中为 anchorPoint 设置动画if(anchorY > -1) anchorY -= 0.1;
这两种解决方案有效(尽管线性 SKAction::timingMode 不能正确呈现线性平移),但我想知道哪个在优化和优雅方面是最好的。欢迎提供文档;)
编辑:
显然,我的问题不清楚(可能是由于我的英语水平)。
简而言之,我的问题是:滚动场景的最佳实践到底是什么?