cocos2d自定义对话框,有/无选择

时间:2011-08-02 18:41:05

标签: iphone objective-c cocos2d-iphone uialertview

截至目前,我只能这样做:

`UIAlertView* dialog = [[UIAlertView alloc] init];
 [dialog setDelegate:self];
 [dialog setTitle:@"New Game"];
 [dialog setMessage:@"Are you sure you want to start a new game? This will overwrite your current game."];
 [dialog addButtonWithTitle:@"Yes"];
 [dialog addButtonWithTitle:@"No"];
 [dialog show];
 [dialog release];

...

- (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if(buttonIndex==0) {
        gametype = 1;
        [[CCDirector sharedDirector] replaceScene:[CCTransitionCrossFade transitionWithDuration:1 scene:[GameScene node]]];
    }
}
`

糟糕的是,对话框实际上并没有与应用程序的整个主题混合在一起。

有没有办法可以自定义或创建出现的对话框?

我听说自定义UIAlertView在应用程序商店遭到拒绝方面一直存在争议。我不认为我应该采用这种方法。你有我可以使用的任何建议/代码吗?

PS:我有一个对话框图像,已经完成了是/否按钮。

1 个答案:

答案 0 :(得分:1)

如果你已经有一个对话框和YES / NO按钮,那么我只需添加一个sprite图层的对话框,其中YES / NO按钮覆盖为CCMenuItemImage(s)。然后你可以使用no按钮隐藏菜单和对话框的可见性,并使用yes按钮替换场景。

dialogBox = [CCSprite spriteWithFile:@"dialogBox.png"];
CCMenuItemImage *yesButton = [CCMenuItemImage itemFromNormalImage:@"yes.png" selectedImage:@"yes.png" target:self selector:@selector(yesSelector)]
CCMenuItemImage *noButton = [CCMenuItemImage itemFromNormalImage:@"no.png" selectedImage:@"no.png" target:self selector:@selector(noSelector)]

然后在你的noSelector方法中,你可以隐藏对话框,在yesSelector中只需替换场景。