Objet sound() dans un clip chargé par loadClip - Flash/ActionScript - Programmation
Marsh Posté le 15-12-2005 à 00:47:48
monSon = new Sound(this);
.. pour que ton son soit attaché à cette instance de mc en particulier ...
Et évite
this.onEnterFrame = false;
mais plutôt
delete this.onEnterFrame;
Marsh Posté le 15-12-2005 à 16:27:25
arf, j'ai le même problème...
en fait, je fait des animations... avec jusqu'a 8 niveaux de clips imbriqués...
j'ai besoin de pouvoir appeler un son n'importe quand depuis n'importe ou...
j'ai fait un :
Code :
|
je l'appèle avec :
Code :
|
dans ma classe son j'ai :
Code :
|
bon, c'est pas super top... mais c'est adapté a mes anims....
tout marche bien c'est top
par contre, des que n'importe dans un autre swf pour faire un loading propre, ca marche plus !
la fonction est bien toujours appelée, le
trace("on joue : " +__monSon )
marche toujours bien par contre, le son n'est pas attaché... et ne se joue pas !
Marsh Posté le 15-12-2005 à 17:12:39
Mmmmmmh elle est "bizarre" ta classe 'Son' !! ( j'avais mis "foireuse" au départ mais ça risque de choquer .. alors disons juste "bizarre" )
Tu crées une classe qui dérive de Sound .. donc qui possède toutes les propriétés et fonctions de Sound .. et dans son constructeur, tu redéclares un objet Sound !!!
Tu m'expliques l'intérêt ???
Soit tu vires le 'extends Sound', soit tu vires le constructeur et tu remplaces 'monSon' par 'this' dans la fonction jouerSon ...
Sinon, tu te retrouves avec un objet Sound dans un dérivé de l'objet Sound ...
Marsh Posté le 15-12-2005 à 17:52:18
Mr Mala a écrit : Mmmmmmh elle est "bizarre" ta classe 'Son' !! ( j'avais mis "foireuse" au départ mais ça risque de choquer .. alors disons juste "bizarre" ) |
hello, merci de porter un peu d'intéret a mes classes foireuses !!!
je t'explique le topo : je suis une brelle et je suis débutant AS 2... ya pas mal de conceptes qui m'achapent mais petit a petit je progresse...
ca me sauve la vie sur certains projets qui sont trop compliqués pour faire du AS1
bref, j'ai besoin de gérer un son...
un seul en meme temps (de la voie) voila pourquoi je cré un seul objet son... ca me permet d'etre sur que jamais ils vont se chevaucher...
je voulais une classe pour gérer mon son et pouvoir l'appeler de n'importe ou... que ca, rien d'autre. elle est donc tout petite...
j'ai essayé de faire une classe a la con, une static et d'autres trucs... mais c'est un peu flou pour moi et ca marchais pas bien... j'avias pas acces a la classe Sound depuis les classes que j'avais fait... bref, j'ai fais un truc qui hérite de sound pour utiliser ses méthodes...
c'est surement tres nul et je suis ouvert a 100% si t'as une proposition qui corespond a mon probleme ...
t'aurrasi fais quoi comme classe ?
maintenant j'ai ca :
Code :
|
ca marche bien dans le swf mias toujours pareil, quand je le load dans un autre, la fonction jouerSon est bien appelée, (j'ai bien mon trace) mais pas de son...
si tas une idée !
merci beaucoup pour ton aide en tous ca s!!
Marsh Posté le 15-12-2005 à 19:39:21
Ben voilà .. CA, c'est une "belle" classe propre !
Bon, la solution, je l'ai donnée plus haut tu sais !
Donc, ta classe, avec passage d'un MovieClip en paramètre, deviendrait :
Code :
|
Marsh Posté le 21-12-2005 à 10:45:40
hello !
merci pour tes infos !
j'ai modifier ma classe comme ca
le super ca veux dire quoi exactement ????....
je comrpend pas trop comment ca marche la
sinon, ca marche nikel dans mon flash, mais une fois mon SWF loadé dans un autre, comme avant... il veux pas attacher le son... je sais pas trop pourquoi !
Marsh Posté le 21-12-2005 à 14:08:10
super() = appel du constructeur de la classe héritée ( le parent )
Et si ça ne marche toujours pas, c'est parce que je parie que tu n'as toujours pas fait
_global.monSon = new Son(this);
Marsh Posté le 21-12-2005 à 14:52:55
WOOOOOO merci !!!
ca marche nikel ! super !!! merci bien :
bon alors, pour aller ma coucher moins con :
merci d'avance
Marsh Posté le 21-12-2005 à 15:56:40
si par exemple je veux utiliser une classe qui manipule des objets XML, je peut faire une :
class Gestionxml extends XML {
}
??.....
il faut que je remete un super ??
pour passer par exemple le XML à gérer, tu le passe donc pas dans le construteur mais plutot avec une méthode publique ,?
désolé pour mes questions de boulet, c'est pas évient à assimiler...
Marsh Posté le 21-12-2005 à 15:57:13
tiens au fait, j'adore ton jeu avec les petits cubes... j'ai fais 60 niveaux du niveau facile
Marsh Posté le 21-12-2005 à 16:07:09
alpseb a écrit : WOOOOOO merci !!! |
Ben tiens tu m'étonnes ! ... tss tss tss encore un qui s'imagine que je poste "des trucs" sans vérifier avant !
alpseb a écrit :
|
En gros ... en très gros ...
alpseb a écrit :
|
Parce que je me tue à dire depuis le 2ème message de ce topic que Sound() peut avoir un MovieClip comme paramètre ...
C'est clairement dans la doc en ligne dans l'éditeur Flash en plus ... je suis pas magicien, j'ai rien inventé ...
Et du coup, on passe ou pas ce paramètre facultatif au constructeur de la classe parent.
alpseb a écrit :
|
Ben quand il n'y aura pas de paramètre justement ...
alpseb a écrit :
|
Je cherche toujours une explication simple et logique ... mais je te tiens au courant ...
Tout ce que je sais, c'est que Sound() définit un objet son global qui contrôle tout les sons de l'anim ..
Et Sound(target_MC) définit un objet son local à un movieclip ...
Cf doc online toujours ..
Marsh Posté le 14-12-2005 à 17:44:07
Salut all ,
J'au un ptit soucis avec l'objet sound d'ActionScript.
J'ai un ptit preloader qui loadClip
e(lol) mon clip préchargé sur la scène principale, une fois le chargement effectué.Dans le fla de la scene principale, j'ai un objet sound que voilou :
Le soucis c'est que, lorsque je lance le swf principal "dans" mon loader, la musique ne démarre pas. Par contre si je lance le swf principal "manuellement" (sans passer par le preloader), ca fonctionne.
Je pense que le probleme vient du fait que les 2 swf n'utilisent pas la même bibliothèque, et que du coup, la ligne "monSon.attachSound("zik" );" est foireuse.
Qu'en pensez vous messieurs ?
Merci d'avance a tlm.
PS :
Je met le code du loader, ca peut ptet servir..