2011-01-14 6 views
2

cocos2dには、後で使用するためにイメージを読み込ませるためのTextureMgrメソッド(Async)がありました。今私がTextureMgrを使用するとき、それは宣言されていないと言います。それは廃止されましたか?私は99.5にいる。それがもはや使用できなくなったら、それは何に置き換わるのでしょうか?この行と同じことをすることができるものはありますか?TextureMgrには何が起こったのですか?

[[TextureMgr sharedTextureMgr] addImageAsync:...NSString goes here... target:self selector:@selector(method:)]; 

答えて

2

を探していると思うが、多分それはあなたが探しているされてCCTextureCache

http://www.cocos2d-iphone.org/api-ref/0.99.5/interface_c_c_texture_cache.html

を見てみましょう。

このキャッシュは、テクスチャスプライトなどのオブジェクトを作成するときに使用されます。そして、あなたはあなたのイメージをあらかじめ保存するためにそれを使うことができます。

EDIT: CCTextureCacheは私が言ったように、テクスチャを使用して、作成ANGオブジェクト使用されている - あなたが最初のテクスチャをロードするかどう当時とテクスチャがすでにキャッシュ内にある場合はその要素の作成ははるかに高速ですオブジェクトを作成します。例えば

あなたは、このようなコード記述している場合:

id sprite = [CCSprite spriteWithFile: @"my-file.png"]

と@「私の-file.png」質感は、それが最初にロードされますキャッシュではなく、それには時間がかかります(オブジェクトを作成するだけです)。

あなたは、このようなコードを記述している場合:

id sprite1 = [CCSprite spriteWithFile: @"my-file.png"]; 
id sprite2 = [CCSprite spriteWithFile: @"my-file.png"]; 

その後、スプライト1が遅い作成し、テクスチャがすでにキャッシュ内にあるため、はるかに高速sprite2されます。

あなたは速くなりますキャッシュ

[[CCTextureCache sharedTextureCache] addImage: @"my-file.png"];

と、このテクスチャを持つすべてのオブジェクトの作成にテクスチャを追加MANUALEすることができます。

テクスチャをプリキャッシュする必要がある場合の一般的なコードは、ゲームの読み込みまたはレベルパッケージの読み込みやレベル読み込みです。あなたはアンドリューはかなりあなたの質問に答え、彼らにSimpleAudioEngineシングルトン

+0

ありがとうアンドリュー!あなたはまた私の他の質問hahaに答えましたが、あなたはもう少し詳しい情報を提供することができますか?ありがとう;) – Joethemonkey101

1

を使用して必要な場合は、サウンドをプリキャッシュすることができます

はまた、私はちょうどあなたにCCTextureCacheとCCSpriteFrameCacheを使用する方法についてのコードセグメントを与えたいです。テクスチャキャッシュキャッシュの実テクスチャ/イメージとスプライトフレームキャッシュは、テクスチャに関する情報をロードします(スプライトシートをロードしている場合)。 サンプルコードはここにあります。

ここでlatestBurp1-1.pvr.cczとburpParticles1-1.pngはマイスプライトシートで、その情報は(同名の).plistファイルです。

以下の機能では、テクスチャを読み込みますが、spriteFrames(テクスチャに関する情報)も読み込んでいます。

また、pngよりもはるかに高速に読み込むpvrファイルとpvr.cczファイルも見てください。

-(void) loadBurpAnimation { 
     NSString* burpFile; 
     NSString* burpFilePVR; 

     NSString* burpParticlesFile; 
     NSString* burpParticlesFilePVR; 

     burpFile = @"latestBurp1-1.plist"; 
     burpFilePVR = @"latestBurp1-1.pvr.ccz"; 
     burpParticlesFile = @"burpParticles1-1.plist"; 
     burpParticlesFilePVR = @"burpParticles1-1.png"; 

     [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:burpFile texture:[[CCTextureCache sharedTextureCache] addImage:burpFilePVR]]; 
     [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:burpParticlesFile texture:[[CCTextureCache sharedTextureCache] addImage:burpParticlesFilePVR]]; 

     NSMutableArray *burpFrames = [NSMutableArray array]; 
     for(int i = 231; i <= 268; ++i) { 
      [burpFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"burp.%d.png", i]]]; 
     } 
     burpAnim = [[CCAnimation alloc] initWithFrames:burpFrames delay:0.04f]; 
     [burpFrames removeAllObjects]; 

     //Burp Particles 
     [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:burpParticlesFile]; 
     NSMutableArray *burpParticlesFrames = [NSMutableArray array]; 
     for(int i = 3; i <= 37; ++i) { 
      [burpParticlesFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Burp_%05d.png", i]]]; 
     } 

     burpParticlesAnim = [[CCAnimation alloc] initWithFrames:burpParticlesFrames delay:0.04f]; 
     [burpParticlesFrames removeAllObjects]; 
} 

私はちょうどあなたにいくつかの言葉をgoogleする必要がありますので、多くの情報をくれた。

+0

ありがとう!役に立つ情報のように見えます:) – Joethemonkey101

関連する問題