【问题标题】:CCParallaxNode parallaxRatio (explanation)CC Parallax 节点视差比(解释)
【发布时间】:2011-07-04 13:27:31
【问题描述】:

我觉得问这个问题很愚蠢,但我在任何地方都找不到明确的答案(或根本找不到答案),所以我觉得我必须问。有没有人可以清楚地解释 CCParallaxNode 的 parallaxRatio 是如何工作的?

我检查了 CCParallaxNode 的来源,它根本没有解释它。我已经广泛搜索了互联网和 stackOverflow。我试图做好的旧试验和错误。我还是一头雾水。

[parallaxLayer addChild:backgroundEffect_subtleRed z:100 parallaxRatio:ccp(0.5, 0.5) positionOffset:backgroundEffect_subtleRed.position];

在这段代码中,我尝试将粒子发射器添加到 parallaxLayer 并让它移动,就像您期望视差层上的对象移动一样。不幸的是,我根本看不到这些粒子。每当我希望它移动时尝试向视差节点添加任何东西时,我都会遇到这个问题。我一直在使用 CCParallaxNode 创建静态 UI 层,但无法将它们用于构建它们的目的。

总结:

parallaxRatio 采用 CGPoint。 CGPoint 中的浮点数适用于什么?它们是 x 和 y 相对于窗口的比率吗?它们是(parallaxLayerMovementInRelationTo,parentNode)吗?一段工作示例代码会很有帮助。

谢谢。

【问题讨论】:

    标签: ios cocos2d-iphone


    【解决方案1】:

    引用我拥有的一本 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 以正常速度移动,para3 以 CCParallaxNode 的两倍速度移动,依此类推”

    所以基本上,它是各个层移动与整个 CCParallaxNode 移动的比率。

    【讨论】:

    • 唯一让我感到困惑的是第二个浮点数始终为零......至少它给了我一个目前足够好的工作知识。
    • 只是说不要沿 y 轴移动任何子节点。在此示例中,唯一应允许的移动是 x 轴上的移动。也就是说,即使主 CCParallaxNode 沿 y 轴移动,子节点也不应该沿 y 轴移动。你可以随意改变它。
    猜你喜欢
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    相关资源
    最近更新 更多