paranitips

Never stop learning! がモットーのゆるふわエンジニアブログ

cocos2d-xでダイアログを表示する

単純にダイアログを表示するだけであればCCMessageBoxを使えばいいですね。

CCMessageBox("メッセージ", "タイトル");

ただ、ボタンのタイトルは「OK」で固定されてるし、delegatenilで受け取れません。

そのため、ダイアログからさらにアクションを起こしたい場合はちゃんとネイティブ連携してUIAlertViewを呼び出してあげましょう。

ちなみにCCMessageBoxの中身は以下。

void CCMessageBox(const char * pszMsg, const char * pszTitle)
{
    NSString * title = (pszTitle) ? [NSString stringWithUTF8String : pszTitle] : nil;
    NSString * msg = (pszMsg) ? [NSString stringWithUTF8String : pszMsg] : nil;
    UIAlertView * messageBox = [[UIAlertView alloc] initWithTitle: title
                                                          message: msg
                                                         delegate: nil
                                                cancelButtonTitle: @"OK"
                                                otherButtonTitles: nil];
    [messageBox autorelease];
    [messageBox show];
}