在cocos2d中使用CCMenu

时间:2012-05-22 08:59:19

标签: objective-c ios xcode cocos2d-iphone ccmenuitem

大家好!
我正在尝试使用 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 个答案:

答案 0 :(得分:1)

我在我的系统中运行了上面的代码,它运行正常。
因为您使用scheduleOnce选择器来显示菜单,所以它将在71秒后显示。

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