我觉得这个问题很愚蠢,但我无法在任何地方找到一个明确的答案(或者说很多答案)所以我觉得我必须要问。有没有人可以清楚地解释CCParallaxNode的视差比如何工作?
我检查了CCParallaxNode的来源,但根本没有解释。我已经广泛搜索了互联网和stackOverflow。我试图做好旧的反复试验。我还是很困惑。
[parallaxLayer addChild:backgroundEffect_subtleRed z:100 parallaxRatio:ccp(0.5, 0.5) positionOffset:backgroundEffect_subtleRed.position];
在这段代码中,我试图将一个粒子发射器添加到parallaxLayer,让它有点移动,就像你期望视差层上的一个物体移动一样。不幸的是,我根本看不到颗粒。当我想要移动时,我尝试向parallaxNode添加任何内容时,我遇到了这个问题。我一直在使用CCParallaxNode来创建静态UI图层,但是无法将它们用于它们的构建目的。
总结:
parallaxRatio采用CGPoint。 CGPoint中的浮点数适用于什么?它们是x和y相对于窗口的比率吗?他们(parallaxLayerMovementInRelationTo,parentNode)?一段工作的示例代码将非常有用。
谢谢。
答案 0 :(得分:14)
引用我拥有的cocos2d书:
[paraNode addChild:para1 z:1 parallaxRatio:CGPointMake(0.5f, 0) positionOffset:topOffset];
[paraNode addChild:para2 z:2 parallaxRatio:CGPointMake(1, 0) positionOffset:topOffset];
[paraNode addChild:para3 z:4 parallaxRatio:CGPointMake(2, 0) positionOffset:midOffset];
[paraNode addChild:para4 z:3 parallaxRatio:CGPointMake(3, 0) positionOffset:downOffset];
“CCParallaxNode的创建方式与其他任何节点一样,但它的子节点是使用特殊的初始化程序添加的。用它来指定视差比,这是一个CGPoint,用作CCParallaxNode运动的乘数。在这种情况下,para1将以一半的速度移动,以正常速度移动para2,以CCParallaxNode的两倍速度移动para3,依此类推“
基本上,它是各个层移动的比率与整个CCParallaxNode的移动的关系。