张运涛

c++

   :: 首页 :: 联系 :: 聚合  :: 管理

常用链接

留言簿(4)

搜索

  •  

最新评论

转:[iphone-cocos2d]关于Loading的若干处理和讨论


(id) init

{

    self = [super init];

    if ( self )

    {  

// Add the Label (in cocos2D universe)

        BitmapFontAtlas *label = [BitmapFontAtlas 
         bitmapFontAtlasWithString: @"Initializing Game" 
         fntFile: @"comic_atlas.fnt" 
 alignment: UITextAlignmentCenter];

        label.position = *****(240, 160);

        label.opacity = 0;

        [self addChild: label z: 0 tag: kInitializingLabel];

// Add the UIActivityIndicatorView (in UIKit universe)

self.activityIndicatorView = [[[UIActivityIndicatorViewalloc
          initWithActivityIndicatorStyle
          UIActivityIndicatorViewStyleWhiteLarge] autorelease];

        activityIndicatorView.center = *****(190,240);

        [activityIndicatorView startAnimating];

        [[self battleView] addSubview: activityIndicatorView];

        [self schedule: @selector(loadingInit)];


// At this point, the cocos2d rendering is fine.

    }

returnself;


}


- (void) loadingInit
{
    [self unschedule: @selector(loadingInit)];



// Fade in nicely


    BitmapFontAtlas *label = (BitmapFontAtlas*)[self getChildByTag: kInitializingLabel];


[label runAction: [FadeInactionWithDuration: .25]];

    [self schedule: @selector(loadingStep0) interval: .25];


}


- (void) loadingStep0

{

    [self unschedule: @selector(loadingStep0)];

// Add you own code to load texture, sounds etc...

// The cocos2D thread will be waiting (since it"s the same as 
       the main thread) but the UIKit thread will keep running in parallel
// Can do multiple steps or just one

    [self schedule: @selector(loadingStep1) interval: .5];

}

- (void) loadingStep1

{

    [self unschedule: @selector(loadingStep1)];


// Add you own code to load texture, sounds etc...

    [self schedule: @selector(loadingDone) interval: .1];


}

- (void) loadingDone

{

    gameIsReady = YES;

    [self.activityIndicatorView removeFromSuperview];

    BitmapFontAtlas *label = (BitmapFontAtlas*)[self getChildByTag: kInitializingLabel];


    [label setString: NSLocalizedString(@"Tap to start!", nil)];

[label runAction: [RepeatForeveractionWithAction


[SequenceactionOne: [EaseInOutactionWithAction
[MoveToactionWithDuration: .6position: *****(210, 160)] rate: 2
two: [EaseInOut actionWithAction
[MoveTo actionWithDuration: .6 position: *****(270, 160)] rate: 2] ] ]];

}

- (BOOL)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

    if ( gameIsReady )

    {

        [self openGame];

    }

returnkEventHandled;
}


2。

CGRect texRect = CGRectMake( (barPngWidth/2)*(1-loadPercentage), 0, barPngWidth/2, barPngHeight);
[barAtlasSprite setTextureRect:textRect];

My loadPercentage var should be comprised between 0 and 1.
You definitely don"t have to use an animation nor the setDisplayFrame function.


3。http://stackoverflow.com/questions/1133123/multi-threaded-opengl-programming-in-cocos2d-iphone

[/pre]
posted on 2011-03-27 13:33 张运涛 阅读(598) 评论(0)  编辑 收藏 引用 所属分类: cocoa2d

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理