2012-05-22 61 views
0

嗨,大家好!
我正在嘗試使用CCMenu類。我有這個方法:在cocos2d中使用CCMenu

-(void)showMenuItems { 
    CGSize size = [[CCDirector sharedDirector] winSize]; 
    [CCMenuItemFont setFontSize:28]; 
    CCMenuItem *runAlertItem = [CCMenuItemFont itemWithString:@"Show Alert" target:self selector:@selector(showAlert)]; 
    CCMenuItem *showTwitterPageItem = [CCMenuItemFont itemWithString:@"Twitter" target:self selector:@selector(showWebView)]; 
    CCMenuItem *showApplePageItem = [CCMenuItemFont itemWithString:@"Apple" block:^(id sender) { 
     webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 480.0, 320.0)]; 
     [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http:/www.apple.com"]]]; 
     [[[CCDirector sharedDirector] view] addSubview:webView]; 
     [self scheduleOnce:@selector(hideWebView) delay:10]; 
    }]; 

    mainMenu = [CCMenu menuWithItems:runAlertItem, showTwitterPageItem, showApplePageItem, nil]; 
    [mainMenu alignItemsVerticallyWithPadding:10]; 
    mainMenu.position = CGPointMake(size.width/2, size.height/2); 
    [self addChild:mainMenu]; 
} 

現在,我想調用此方法像這樣:

[self scheduleOnce:@selector(showMenuItems) delay:71]; 

不幸的是,菜單沒有出現。
我做錯了什麼?

在此先感謝!

回答

1

我已經在我的系統中運行上面的代碼,它工作正常。
因爲您正在使用scheduleOnce選擇器來顯示菜單,所以它會在71秒後出現。

[self scheduleOnce:@selector(showMenuItems) delay:71]; 
+0

準確,當我拼命地跑沒有這個方法只是用[自showMenuItems],它工作正常,但出現在開始的時候,我需要當動畫停止它出現。 –

+0

,但71秒後纔出現。 –

+0

@AnatoliyGatt我認爲這個錯誤與這段代碼無關。我只是在一個新的cocos2d項目中添加了這個代碼,菜單會在71秒後顯示出來。 – Vaquita