【问题标题】:Problems with layers in Cocos2dCocos2d 中的图层问题
【发布时间】:2012-02-12 02:11:00
【问题描述】:

哟, 我在 coco2d 中遇到了与图层有关的问题。我有背景,使用以下代码:

CCSprite * background = [CCSprite spriteWithFile:@"background_menu.png"];
    [self addChild:background];
    background.position = ccp(240,160);

它基本上只是一个精灵,具有我分配给它的位置。然后,我有一个使用 CCMenu 制作的菜单,带有四个 CCMenuItemImage。当我运行程序时,背景挡住了菜单,所以我只能看到背景。我想知道如何使菜单出现在背景之上。我知道这与图层有关,但我对如何制作图层以及如何使用它们创建层次结构感到有些困惑,因此有些图层出现在其他图层之上。

【问题讨论】:

  • 菜单的位置是什么?它可能只是“屏幕外”,而不是背景。当您将子级添加到图层时,未指定 zorder,最后一个(在您的菜单中)应该在第一个之上)。

标签: xcode cocos2d-iphone layer


【解决方案1】:

可能是 z 顺序。试试:

[self addChild:background z:-1];

或添加 z 顺序更高的菜单

【讨论】:

    【解决方案2】:

    除了首先要尝试的 z 顺序之外,还可以尝试注释掉后台的 addChild 方法,以便仅将菜单添加为子项。这是为了验证菜单本身是否被正确添加和定位。如果是,则添加背景,但确保更改 z 顺序,或者将菜单的 addChild 方法放在背景的 addChild 方法之后,这样如果您不想要,它会自动添加到背景顶部搞乱 z 顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多