【问题标题】:Set CCNode z order设置 CCNode z 顺序
【发布时间】:2014-06-20 01:45:21
【问题描述】:

我想设置一个 CCNode 的 z 顺序,但我一直在尝试这三个选项,但它不起作用:

myNode.zOrder = 10;

myNode.physicsNode.zOrder = 10;

[myScene reorderChild:myNode z:10];

myNode.physicsNode.zOrder 还设置了 CCPhysicsNode 内所有 CCNode 的 de z 顺序,无论 myNode 是什么 Node。

谢谢大家!

【问题讨论】:

    标签: objective-c xcode cocos2d-iphone spritebuilder


    【解决方案1】:

    设置zOrder 属性就足够了。请记住,zOrder 较高的节点绘制在前面。

    我刚刚测试成功:

        CCSprite *sprite1 = [CCSprite spriteWithImageNamed:@"image1.png"];
        sprite1.position = ccp(100, 100);
        [self addChild:sprite1];
    
        CCSprite *sprite2 = [CCSprite spriteWithImageNamed:@"image2.png"];
        sprite2.position = ccp(110, 110);
        [self addChild:sprite2];
    
        sprite2.zOrder = -10; // second sprite goes behind
    

    【讨论】:

    • 没错,但我的问题不在于可视化。困难是当我拖动精灵时。我可以把一个放在另一个前面,但是当我试图拖动 whit 时:
    • 没错,但我的问题不在于可视化。困难在于当我拖动精灵时。我可以将一个放在另一个前面,例如 sprite1 在 z = 2 中,sprite2 在 z = 1 中,使用 .zOrder 我将其更改为 z = 1 中的 sprite1 和 z = 2 中的 sprite2。但是当我尝试拖动 sprite2,现在在 sprite1 前面,我不能,而是拖动 sprite1,我必须把它收起来才能拖动 sprite2,不管它是否在前面。
    猜你喜欢
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2011-03-13
    • 2017-02-03
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多