我的问题是: 我正在使用cocos2d为iOS制作游戏,这个游戏有很多级别,所以我必须创建一个加载场景来加载每个级别的精灵。 (比如新背景,怪物和其他东西) 但我不知道这个,我正在添加所有纹理包装器文件(.plist和.pvr.ccz) 在GameData.m中的sharedSpriteFrameCache上。 有谁知道这方面的好教程或可以帮我解决这个问题? 谢谢!
答案 0 :(得分:1)
所以基本上你想知道如何根据需要加载和卸载图像。 <怎么样
@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 :(得分:-1)
您可以使用CCMenuItem的精灵,也可以按照菜单的需要点击并移动到该特定级别。以下是添加菜单项图像的代码
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并获得所需的输出...
希望它适合你。