2009-03-31 10 views
0

J'essaie d'ajouter une quantité variable d'objets MenuItem à un objet Menu à l'exécution. Quand mon jeu commence, je ne sais pas vraiment si mon menu a 2 ou 5 items par exemple.Ajouter des éléments de menu cocos2d à l'exécution

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

Comment puis-je ajouter maintenant les MenuItems à un objet Menu. En utilisant addChild, je reçois une exception et je ne trouve pas vraiment de solution en ligne.

Aussi, une question secondaire: Quand je peux ajouter mon MenuItem de cette façon. Comment puis-je récupérer mes MenuItems et modifier l'image qu'ils affichent?

Répondre

0

De NSMenu:

 
    - (void)addItem:(NSMenuItem *)newItem 
En supposant que vous avez un objet NSMenu d'envoyer ce message à et MenuItemImage est une sous-classe de NSMenuItem.

Pour vous remettre les éléments de menu, en fonction de ce que vous savez sur l'élément que vous avez: - itemWithTag:
- itemWithTitle: - itemAtIndex:

Vous pouvez parcourir les articles en utilisant:
- numberOfItems
- itemArray

Consultez la documentation NSMenuItem pour obtenir/définir l'image.

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

Merci, le problème était que je devais initialiser le menu avec au moins un élément, avant que je puisse utiliser la méthode addChild sur elle. Après quelques recherches, j'ai compris. –

Questions connexes