あなたの心を助け、これを読んでくれてありがとう。
これが私のソースです:Download_Cocos2d_Continuous_Scrolling_Tile_Based_Game
その継続的にスクロールするタイルベースのcocos2Dゲーム。このゲームでは、タイルマップは必要に応じてロードおよびリリースされます。最初のタイルマップがリリースされると、3番目のタイルマップがロードされます。同じプロセスが繰り返されます。読み込み時間のため、タイルスクロールに多少のジャークが見られました。そこで、別のスレッドを使用してタイルマップをロードしました。それは画面に奇妙なフラッシュを引き起こしました..デバイスでのみ。
- このフラッシュを修正するにはどうすればよいですか?
- タイルスクロールの小さなジャークを回避するにはどうすればよいですか?またはロードするための代替方法はありますか?
コードの読み込みは次のとおりです。
[NSThread detachNewThreadSelector:@selector(loadTileMapInThread:) toTarget:self withObject:nil];
-(void)loadTileMapInThread:(id)argument
{
NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
CCGLView *view = (CCGLView*)[[CCDirector sharedDirector] view];
EAGLContext *auxGLcontext = [[EAGLContext alloc]
initWithAPI:kEAGLRenderingAPIOpenGLES2
sharegroup:[[view context] sharegroup]];
if( [EAGLContext setCurrentContext:auxGLcontext] ) {
[self LoadTilesMap];
glFlush(); //whn I comment this also..flash observed
[EAGLContext setCurrentContext:nil];
} else {
CCLOG(@"cocos2d: ERROR: TetureCache: Could not set EAGLContext");
}
[auxGLcontext release];
[autoreleasepool release];
}