2009-03-31 15 views
0

Ich versuche, ein MenuItem-Objekt mit einer variablen Menge zu einem Menu-Objekt zur Laufzeit hinzuzufügen. Wenn mein Spiel startet, weiß ich nicht wirklich, ob mein Menü 2 oder 5 Elemente enthält.Hinzufügen von cocos2d-Menüelementen zur Laufzeit

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

Wie füge ich jetzt die MenuItems zu einem Menu-Objekt hinzu. Mit addChild bekomme ich eine Ausnahme und ich kann online keine Lösung finden.

Auch eine Nebenfrage: Wenn ich meine MenuItems auf diese Weise hinzufügen kann. Wie kann ich meine MenuItems zurückholen und das angezeigte Bild ändern?

Antwort

0

Von NSMenu:

 
    - (void)addItem:(NSMenuItem *)newItem 
Sie Angenommen, haben eine NSMenu Objekt Diese Nachricht zu senden und die MenuItemImage ist eine Unterklasse von NSMenuItem.

Um Sie Menüpunkte zurück, je nachdem, was Sie über das Produkt wissen, Sie haben: - itemWithTag:
- itemWithTitle: - itemAtIndex:

Oder Sie können die Elemente durchlaufen werden:
- numberOfItems
- ItemArray

überprüfen Sie die NSMenuItem Dokumentation aus für immer/die Bildeinstellung.

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

Danke, war das Problem, dass ich brauchte, um das Menü mit mindestens einem Element zum init, bevor ich die addChild Methode auf sie nutzen könnten. Nach ein paar Recherchen habe ich es herausgefunden. –

Verwandte Themen