首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cocos2d中正确加载子画面?

如何在cocos2d中正确加载子画面?
EN

Stack Overflow用户
提问于 2012-03-22 04:04:49
回答 2查看 6.8K关注 0票数 1

我的问题是:我正在用cocos2d为iOS制作一个游戏,这个游戏有很多关卡,所以我必须创建一个加载场景来为每个关卡加载我的精灵。(像新的背景,怪物和其他东西),但我不知道这一点,我正在添加所有的纹理打包器文件(.plist和.pvr.ccz)在sharedSpriteFrameCache的游戏数据。有没有人知道这方面的好教程,或者能帮我解决这个问题?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-23 08:26:40

所以基本上你想知道如何在你认为合适的时候加载和卸载图像。怎么样

代码语言:javascript
复制
@implementation Level1

- (void) loadLevel
{
    CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
    CCTextureCache* textureCache = [CCTextureCache sharedTextureCache];

    // Add the sprite frames. This will load the texture as well
    [frameCache addSpriteFramesWithFile:@"monkey.plist"];
    [frameCache addSpriteFramesWithFile:@"player.plist"];
    [frameCache addSpriteFramesWithFile:@"enemy.plist"];

    // Load other textures that are going to be used
    _myBackgroundTexture = [textureCache addImage:@"background.png"];
}

- (void) unloadLevel
{
    CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
    CCTextureCache* textureCache = [CCTextureCache sharedTextureCache];

    // Remove textures
    [textureCache removeTexture:_myBackgroundTexture];

    // Remove sprite frames. This will load the texture as well
    [frameCache removeSpriteFramesFromFile:@"monkey.plist"];
    [frameCache removeSpriteFramesFromFile:@"player.plist"];
    [frameCache removeSpriteFramesFromFile:@"enemy.plist"];

    // Though normally, id use frameCache removeUnusedSpriteFrames and
    // textureCache removeUnusedTextures
}

... @end

票数 1
EN

Stack Overflow用户

发布于 2012-03-22 14:51:33

您可以使用sprite by CCMenuItem,也可以使用菜单,因为您需要单击并移动到该特定级别。下面是添加菜单项图像的代码

代码语言:javascript
复制
CCMenuItem *m4 =[CCMenuItemImage itemFromNormalSprite:[CCSprite spriteWithSpriteFrameName:<#(NSString *)spriteFrameName#>] 
                                           selectedSprite:[CCSprite spriteWithSpriteFrameName:<#(NSString *)spriteFrameName#>] 
                                           disabledSprite:[CCSprite spriteWithSpriteFrameName:<#(NSString *)spriteFrameName#>]
                                                   target:self selector:@selector(MoveLeft)];

上面的代码给出了您可以用来显示特定菜单状态的sprite的信息。"MoveLeft“是我用来调用特定方法的方法选择器。

最后,您可以将m4对象添加到CCMenu并获得所需的输出……

希望它能为你工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9812011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档