Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: setVolume et setPan
Envoyé: 31 juillet 2006, 12h17 par dada
tout d'abord, je voudrais te dire qu'il serait vraiment dommage d'abandonner à ce stade car le résultat que tu obtiens est déjà un bon début. Ce qui pêche là-dedans c'est plutôt la manière dont tu as organisé ton code. Mais on voit tout de suite que tu as les capacités de mener ce projet au bout. ;-)
Je ne suis pas habitué à faire des jeux, alors je connais pas les bonnes habitudes à avoir. Mais je peux toujours tenter quelques petits conseils.
Pour l'histoire du son qui se répète en boucle, c'est parce que la fonction qui créé le son est invoquée dans une boucle onEnterFrame. Déjà tu devrais faire en sorte que le personnage ne puisse pas se superposer aux pics. La logique veut que s'il se cogne dessus, il retombe juste après et ne continue pas de monter "à travers" les pics. Cà pourrait déjà éliminer le problème du son lancé plusieurs fois.
Pour le son de la mouche, je ne l'ai pas entendu, mais le problème dont tu parles est aussi dû à la boucle onEnterFrame. Au plus simple il faudrait, dans la fonction Mouche, utiliser une variable pour savoir si le son doit être relancé. Exemple : elle est sur true, on ne relance pas le son, elle est sur false on le lance.
Mais ce à quoi je pense le plus, c'est que tu devrais apprendre à créer des classes AS2. Ce n'est pas quelque chose qui se fait du jour au lendemain, çà demande du temps, mais c'est une direction à prendre à mon avis. Les classes permettent de créer des objets indépendants avec leurs propres méthodes que l'on appelle lorsqu'on en a besoin. Il peut y avoir une classe pour gérer le son, une pour les déplacements, etc. Ce qui permettrait de mieux isoler le fonctionnement de chaque chose, par exemple dans la classe qui gère le son, on peut décider qu'un son qui est déjà en lecture ne puisse pas être relancé une 2° fois.
Bien sûr tu peux aussi le faire sur la timeline, mais tu devras duppliquer le code d'un son pour le 2° son, puis pour le 3°, alros qu'une classe permet d'être utilisée autant de fois qu'on le souhaite, en écrivant qu'une fois le code. Ensuite, on instancies plusieurs objets de cette classe sur la scène et on les utilise.
Enfin, sans partir dans la convertion de tout ton code en classes (sauf si tu te sens motivé) tu peux déjà tenter les 2 astuces que je propose, çà devrait le faire pour ce cas précis.
Et si tu as déjà un peu d'expérience dans d'autres langages comme Java ou C++, alors lances-toi dans les classes car tu seras en terrain connu ;-)
++
dada
Réponses
|