bouton_ps étend quelle classe ?
bouton_ps étend flash.display.SimpleButton
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var btn:SimpleButton = event.currentTarget as SimpleButton;
Essaie ca en premiere instruction dans ta fonction :
sans oublier d'importer la classe Alert et dis moi si tu as le message qui s'affiche au clic
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(event.currentTarget is SimpleButton) Alert.show("Je suis un SimpleButton !");
Il n'y a même pas le "youhou"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import flash.events.MouseEvent; Alert.show("youhou"); function over(event:MouseEvent){ if(event.currentTarget is SimpleButton){ Alert.show("Je suis un SimpleButton !"); } else Alert.show("Je ne suis pas un SimpleButton !"); var btn:SimpleButton = event.currentTarget as SimpleButton; if(btn.height < 40) { btn.width + = 2; btn.height + = 2; var timerSynchro:Timer = new Timer( 500, 1) ; timerSynchro.addEventListener( TimerEvent.TIMER, over) ; timerSynchro.start(); } } bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out);
vire le youhou et importe la classe flash.display.SimpleButton
Rien ... toujours la même erreur et aucun affichage... mon code ne s'exécute même pas j'ai l'impression
Ya pas de nom de classe sur le document... juste profil par defaut mais rien dans classe
Quand j'en crée une bidon ya rien dedan juste un contructeur vide ... c'est là que je doit mettre le code ??? et non sur la première image de mon calque "Actionscript" ?
chaque classe doit au moins avoir au moins un nom...
tu peux me parler de ton projet et de son arborescence ? Tu dév avec quoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class uneClasse extends...{ }
Je suis avec flash CS5. Et l'arborescence ben ... j'en sais rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package { import flash.display.MovieClip; public class mainClass extends MovieClip { public function mainClass() { } } }
là c'est un fichier as que ca m'a créer et mainClass c'est là fonction du projet
est le constructeur de la classe du même nom, c'est ici (si tu veux) que tu peux instancier ta classe perso
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public function mainClass() { }
ba alors ca sert a quoi le code qu'on met sur une image de la scene ?
et là je met tout dans le constructeur ? :s
Nan dans le constructeur...tu construis
Tu mets à jour des propriétés, tu instancies des classes etc...
Je t'encourage à lire des articles sur la programmation orientée objet afin de comprendre ces mécanismes (pas forcément sur AS3).
Sinon, je me suis rendu compte que depuis le debut j'ai oublié de retourner un type pour tes fonctions...mea culpa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 protected function out(event:MouseEvent):void { ... }
J'ai fais de la poo 2 ans c'est ça le pire (c++) mais là je comprends pas pourquoi on peut mettre du code partout :s
Du genre ca ? ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.display.SimpleButton; public class mainClass extends MovieClip { public function mainClass() { bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); } protected function over(event:MouseEvent){ if(event.currentTarget is SimpleButton){ Alert.show("Je suis un SimpleButton !"); } else Alert.show("Je ne suis pas un SimpleButton !"); var btn:SimpleButton = event.currentTarget as SimpleButton; if(btn.height < 40) { btn.width + = 2; btn.height + = 2; var timerSynchro:Timer = new Timer( 500, 1) ; timerSynchro.addEventListener( TimerEvent.TIMER, over) ; timerSynchro.start(); } } } }
j'ai toujours la meme erreur avec les ligne
et toujours aucun affichage :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 btn.width + = 2; btn.height + = 2;
cool merci du coup maintenant j'ai les vraies erreurs ^^
mainClass.as, ligne 3 1046 : Ce type est introuvable ou n'est pas une constante de compilation : bouton_ps.
mainClass.as, ligne 25 1120 : Accès à la propriété non définie Alert.
mainClass.as, ligne 23 1120 : Accès à la propriété non définie Alert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); Alert.show("Je suis un SimpleButton !");
code complet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.display.SimpleButton; import flash.events.TimerEvent; import flash.utils.Timer; public class mainClass extends MovieClip { public function mainClass() { bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); //bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); } protected function over(event:MouseEvent){ if(event.currentTarget is SimpleButton){ Alert.show("Je suis un SimpleButton !"); } else Alert.show("Je ne suis pas un SimpleButton !"); var btn:SimpleButton = event.currentTarget as SimpleButton; if(btn.height < 40) { btn.width += 2; btn.height += 2; var timerSynchro:Timer = new Timer( 500, 1) ; timerSynchro.addEventListener( TimerEvent.TIMER, over) ; timerSynchro.start(); } } } }
Si tu decompile il export en fait la timeline en movieclip et utilise addFrameScript() dans cette class pour ajouter le code dans la timeline sur le movieclip. toute tes variables sur la timeline sont par ailleurs declarer en public et le nom des class : instance23 instance45 etc..
Sinon pas besoin d etre un boutton pour etre clicable. tout les sprite ( et movieClip qui herite de sprite ) peuvent etre clicable. Ces class dispose par ailleurs de la propiete buttonMode = true qui permet de changer l etat du curseur en rollOver ( pour avoir la main qui indique un lien )
Partager