2009-03-31 5 views
0

ランタイムにMenuオブジェクトに可変量のMenuItemオブジェクトを追加しようとしています。私のゲームが始まったとき、私のメニューに2つの、例えば5つのアイテムがあるかどうかは分かりません。実行時にcocos2dメニュー項目を追加

for (MyItem* item in myItemCollection) 
{ 
     MenuItemImage* menuItem = [MenuItemImage itemFromNormalImage:@"MenuItem.png" selectedImage:@"MenuItemSelected.png" target:self selector:@selector(options:)]; 
} 

ここで、MenuItemをMenuオブジェクトに追加する方法を説明します。 addChildを使用すると例外が発生し、実際にオンラインで解決策を見つけることはできません。

また、副疑問:私のMenuItemをこのように追加することができます。 MenuItemを取得して表示するイメージを変更するにはどうすればよいですか? NSMenuから

答えて

0

 
    - (void)addItem:(NSMenuItem *)newItem 
は、あなたがこのメッセージを送信するためにNSMenuオブジェクトを持っているとMenuItemImageはNSMenuItemのサブクラスであると仮定。

あなたが持っているアイテムについて知っているものに応じて、バックあなたにメニュー項目を取得するには: - itemWithTag:
- itemWithTitle: - itemAtIndex:

または使用してアイテムを反復処理することができます
を - numberOfItems
- itemArray

イメージを取得/設定するためのNSMenuItemドキュメントを確認してください。

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenu_Class/Reference/Reference.html

http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSMenuItem_Class/Reference/Reference.html

+0

おかげで、問題は、私は、私はそれにはaddChildメソッドを使用することができる前に、少なくとも一つの項目にメニューを初期化するために必要なことでした。 いくつかの調査の後、私はそれを理解しました。 –

関連する問題