bouton_ps étend quelle classe ?
Version imprimable
bouton_ps étend quelle classe ?
bouton_ps étend flash.display.SimpleButton
Code:
1
2 var btn:SimpleButton = event.currentTarget as SimpleButton;
toujours pareil :'(
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 clicCode:
1
2
3 if(event.currentTarget is SimpleButton) Alert.show("Je suis un SimpleButton !");
Il n'y a même pas le "youhou"Code:
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
Poste le code complet de ta classe stp
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:
1
2
3
4
5 class uneClasse extends...{ }
Je suis avec flash CS5. Et l'arborescence ben ... j'en sais rien :oops:Code:
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 persoCode:
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:
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:
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 :sCode:
1
2 btn.width + = 2; btn.height + = 2;
+=
et pas + =
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:
1
2
3
4 bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); Alert.show("Je suis un SimpleButton !");
code complet :
Code:
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 )