プログレスバーを使用して音楽、画像、その他のものをシーンにロードし、バーをスムーズに移動する方法..プログレスバーのロジックは、新しいスレッドを作成することだと思います-データをロードしてスレッドを破棄します、進行状況バーは表示されますが、値は更新されません
-(void)s1
{
[[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"game_music.caf"];
}
-(void)s2
{
[[SimpleAudioEngine sharedEngine] preloadEffect:@"tap.caf"];
}
-(void)startThread
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
EAGLContext *context = [[[EAGLContext alloc]
initWithAPI:kEAGLRenderingAPIOpenGLES1
sharegroup:[[[[CCDirector sharedDirector] openGLView] context] sharegroup]] autorelease];
[EAGLContext setCurrentContext:context];
[self performSelector:@selector(loadBar)];
//[self schedule:@selector(tick:)];
[self performSelector:@selector(s1)]; // uploading file
[self performSelector:@selector(progressUpdateValue)]; // add 10 value to progress
[self performSelector:@selector(s2)]; // uploading file
[self performSelector:@selector(progressUpdateValue)]; // add 10 value to progress
[self performSelector:@selector(replaceScene)
onThread:[[CCDirector sharedDirector] runningThread]
withObject:nil
waitUntilDone:false];
[pool release];
}
-(void)replaceScene
{
[[CCDirector sharedDirector]replaceScene:[GameScene node]];
}
-(id)init
{
self = [super init];
if (self != nil)
{
[NSThread detachNewThreadSelector:@selector(startThread) toTarget:self withObject:nil];
}
return self;
}
前もって感謝します。
インターフェース..そこに行く..)
@interface LoadScene : CCScene
{
GPLoadingBar *loadingBar;
float value;
}