zoukankan      html  css  js  c++  java
  • cocos2d-iphone心得

    源码下载地址:

    http://code.google.com/p/cocos2d-iphone/downloads/list

    https://github.com/cocos2d/cocos2d-iphone-classic/releases?after=release-0.2

    问题:[[CCDirector sharedDirector] runWithScene: [sysMenu scene]];导演是怎么把screen放到屏幕上的呢?

    找了老半天发现只有这个- (void) pushScene: (CCScene*) scene,把这个注了,就显示不了了,

    后来又找了很长时间终于找到了,

    EAGLView里

    - (void) layoutSubviews

    [director performSelectorOnMainThread:@selector(drawScene) withObject:nil waitUntilDone:YES];

    -(void) mainLoop
    {
    [self drawScene];
    }

    - (void) startAnimation
    {
    NSAssert( isRunning == NO, @"isRunning must be NO. Calling startAnimation twice?");

    // XXX:
    // XXX: release autorelease objects created
    // XXX: between "use fast director" and "runWithScene"
    // XXX:
    [autoreleasePool release];
    autoreleasePool = nil;

    if ( gettimeofday( &lastUpdate_, NULL) != 0 ) {
    CCLOG(@"cocos2d: Director: Error in gettimeofday");
    }

    isRunning = YES;

    SEL selector = @selector(mainLoop);
    NSMethodSignature* sig = [[[CCDirector sharedDirector] class]
    instanceMethodSignatureForSelector:selector];
    NSInvocation* invocation = [NSInvocation
    invocationWithMethodSignature:sig];
    [invocation setTarget:[CCDirector sharedDirector]];
    [invocation setSelector:selector];
    [invocation performSelectorOnMainThread:@selector(invokeWithTarget:)
    withObject:[CCDirector sharedDirector] waitUntilDone:NO];

    // NSInvocationOperation *loopOperation = [[[NSInvocationOperation alloc]
    // initWithTarget:self selector:@selector(mainLoop) object:nil]
    // autorelease];
    //
    // [loopOperation performSelectorOnMainThread:@selector(start) withObject:nil
    // waitUntilDone:NO];
    }

    - (void) startAnimation
    {
    NSAssert( displayLink == nil, @"displayLink must be nil. Calling startAnimation twice?");

    if ( gettimeofday( &lastUpdate_, NULL) != 0 ) {
    CCLOG(@"cocos2d: DisplayLinkDirector: Error on gettimeofday");
    }

    // approximate frame rate
    // assumes device refreshes at 60 fps
    int frameInterval = (int) floor(animationInterval_ * 60.0f);

    CCLOG(@"cocos2d: Frame interval: %d", frameInterval);

    displayLink = [NSClassFromString(@"CADisplayLink") displayLinkWithTarget:self selector:@selector(mainLoop:)];
    [displayLink setFrameInterval:frameInterval];
    [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    }

  • 相关阅读:
    OFDM系统中频域同步技术及FPGA实现
    SystemVerilog的挑战和机遇
    基础知识要牢固..复习复习,再复习
    样式在.net下测试不成功.附解决办法
    学习.net2.0的网站
    08年又快结束了..抱怨下!~
    今天去面试.net开发,感想
    在b/s开发中经常用到的javaScript技术
    淘宝"新版"首页
    Ajax技术简单入门
  • 原文地址:https://www.cnblogs.com/xuejinhui/p/4324090.html
Copyright © 2011-2022 走看看