Plusieurs actions ? (Cocoa)
SkyJedi
Membre
Salut,
je programme actuellement un jeu en Objective C (Cocoa) mais j'ai quelques problèmes. J'aimerais que lorsqu'on clique sur un bouton, je puisse à la fois afficher une nouvelle fenêtre (cacher celle avec laquelle on a cliqué sur le bouton) et jouer une musique (si possible en boucle). J'ai lu des tutoriaux mais je n'ai pas trouvé de réponse... J'espère que vous m'avez compris
je programme actuellement un jeu en Objective C (Cocoa) mais j'ai quelques problèmes. J'aimerais que lorsqu'on clique sur un bouton, je puisse à la fois afficher une nouvelle fenêtre (cacher celle avec laquelle on a cliqué sur le bouton) et jouer une musique (si possible en boucle). J'ai lu des tutoriaux mais je n'ai pas trouvé de réponse... J'espère que vous m'avez compris
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
As tu codé une méthode action reliée à ton bouton ?
Si oui, c'est dans cette méthode que tu dois implanter les différentes actions que tu veux faire.
Utilise la méthode orderFront: de NSWindow pour faire apparaitre la nouvelle fenêtre (qui doit exister dans un nib chargé, et avoir le outlet qui va bien).
Idem, utilise la méthode orderOut: pour cacher la fenêtre que tu veux (celle du bouton dont tu dois là aussi avoir l'outlet).
Ton son doit être dans un fichier (.wav, .aiff, .mp3, etc), stocké dans les ressources de ton projet.
Ensuite, utilise la classe NSSound pour charger et jouer ce son.
En utilisant le delegate sound:didFinishPlaying: (qui est appelé quand le son est terminé), tu peux relancer la lecture à nouveau (ce qui revient à jouer le son en boucle).
Oui, on t'a compris. Mais, sans beaucoup de détail, ni sur ton "niveau" en Objective-C/cocoa, je ne sais pas si tu as tout saisi.
.
Zut, j'ai oublié de préciser que j'avais fait ça avec un NIB. Avec une connexion -> MakeKeyAndOrderFront
Bha comment t'as deviné ? :P
Hum... J'ai pas très bien compris comment on "applique" des méthodes à des objets, je vais relire les tutos...
Il faut le connecter à la méthode d'un contrôleur qui lui appellera "makeKeyAndOrderFront" + tous les autres trucs que tu veux.