在cocos2d中将精灵绘制在其他精灵之上

发布于 2024-12-02 05:17:45 字数 56 浏览 0 评论 0原文

我正在 cocos2d 中玩,想知道如何为精灵赋予图层深度,这意味着如何将精灵保持在其他精灵之上?

I am playing in cocos2d and wanted know how can i give a sprite a layer depth meaning how can i keep a sprite on top of others?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蝶…霜飞 2024-12-09 05:17:45

你可以这样做:

假设你的类是 CCScene 的子类

-(id) init
{
    if( (self=[super init] )) {
        CCLayer *foreground = [CCLayer node];
        CCLayer *background = [CCLayer node];

        CCSprite *sprite1 = [CCSprite spriteWithFile:@"sprite1.png"];
        CCSprite *sprite2 = [CCSprite spriteWithFile:@"sprite2.png"];
        CCSprite *sprite3 = [CCSprite spriteWithFile:@"sprite3.png"];

        [sprite1 addChild:sprite2 z:-1];   //This z:-1 means that sprite 2 is behind sprite 1

        [foreground addChild:sprite1];
        [background addChild:sprite3];

        [self addChild:background z:0];   // z:0 is default, you don't need to add it.
        [self addChild:foreground z:1];   // z:1 is infront of z:0

    }
    return self;

}

你需要学习如何使用的是 add child 的 z: 参数。如果添加不带 z 参数的子项,则该子项将放置在顶部。

You could do something like this:

Assuming your class is a subclass of CCScene

-(id) init
{
    if( (self=[super init] )) {
        CCLayer *foreground = [CCLayer node];
        CCLayer *background = [CCLayer node];

        CCSprite *sprite1 = [CCSprite spriteWithFile:@"sprite1.png"];
        CCSprite *sprite2 = [CCSprite spriteWithFile:@"sprite2.png"];
        CCSprite *sprite3 = [CCSprite spriteWithFile:@"sprite3.png"];

        [sprite1 addChild:sprite2 z:-1];   //This z:-1 means that sprite 2 is behind sprite 1

        [foreground addChild:sprite1];
        [background addChild:sprite3];

        [self addChild:background z:0];   // z:0 is default, you don't need to add it.
        [self addChild:foreground z:1];   // z:1 is infront of z:0

    }
    return self;

}

The bit you need to learn how to use is the z: parameter of add child. If you add a child without the z parameter, the child is placed on top.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文