Alert n existe pas dans flash de base. C'est dans Flex, utilise plutôt trace('blablabla', 'un autre blablalba');
verifie que ton instance sur ta scene s appelle bien bouton_ps et est il declarer sur la première frame ?
Version imprimable
Alert n existe pas dans flash de base. C'est dans Flex, utilise plutôt trace('blablabla', 'un autre blablalba');
verifie que ton instance sur ta scene s appelle bien bouton_ps et est il declarer sur la première frame ?
rien ne s'affiche et aucune erreur ... pourquoi ma scène en a rien a faire du code ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public function mainClass() { var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.buttonMode = true; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0xFFCC00); circle2.graphics.drawCircle(120, 40, 40); circle2.buttonMode = false; addChild(circle1); addChild(circle2); //bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); //bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); }
EDIT : trace ne fonctionne pas non plus ( je l'ai mi tout au début du constructeur)
est ce que ton document de class pointe correctement vers fichier Main.as ?
En gros :
Clic sur un endroit vide dans ton flash ( pas de movieclip, rien ),
Affiche le panneaux de proprietes.
Regarde le class Document.
Si ton fichier main est a la meme place que ton .fla , alorsr met : Main
sans l'extention .as
Bon courage =)
oui oui
classe : mainClass
et mainClass.as et mon projet.fla sont au meme endroit :(
ca me désespère :(
Merci a vous deux en tout cas ^^
PS : Le mieux pour coder en Flash reste d utiliser flash developp et si tu veux garder un peu de timeline, cree des projets Flash ide.
L'avantage de flash developp c est que sa evite se genre de merde et que flash developp est des milliards de fois plus confortable, rapide et leger que flash pour coder en as3 =)
edit : humm balance moi ton projet en zip, je te debug sa, sa m enerve aussi :aie:
ben ca trace rien ...Code:
1
2
3 public function main() { trace("blablablabla"); }
c'est flash lui meme qui m'a mi ca en nom de constructeur :s
regarde je vien d'en créer une autre sur un nouveau projet ca genere ca automatiquement :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package { import flash.display.MovieClip; public class bidon extends MovieClip { public function bidon() { // constructor code } } }
L'adresse de ton profil marche pas... tu peux m'en envoyer une bonne en mp ? merci :)
EDIT : Ca avaaaaaaaaaaance !!!
j'avais oublié de déclarer le bouton dans le constructeur forcément ...
là ca va beaucoup mieux... plus aucune erreur !Code:var bouton_ps:SimpleButton = new SimpleButton();
Le problème principal persiste cependant :
On entre même pas dans la fonction over ... :(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 public function mainClass() { var bouton_ps:SimpleButton = new SimpleButton(); bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); //bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); } protected function over(event:MouseEvent){ trace("entré dans over"); 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(); } }
heu..ah oui c'est vrai ca :oops:
tu crées un bouton mais tu l'ajoutes pas sur la scene !Code:
1
2
3
4
5
6
7
8
9 public function mainClass() { var bouton_ps:SimpleButton = new SimpleButton(); bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); //bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); }
Code:
1
2
3
4
5
6
7
8
9
10
11 var bouton_ps:SimpleButton = new SimpleButton(); bouton_ps.text = "label du bouton"; bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); addChild(bouton_ps); protected function over(event:MouseEvent):void { trace("event over déclenché"); }
(chaque function sauf le constructeur doit avoir un type de retour défini. Ici void)
Merci pour le type de retour ;)
J'ai mis ca et pas d'erreur mais rien sur la sortie ...
Sinon sur l'api ils ont une méthode qui marche mais avec des sprites... le probleme c'est que je veux des images moi pas des formes..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 public class mainClass extends MovieClip { public function mainClass() { var bouton_ps:SimpleButton = new SimpleButton(); bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, over); addChild(bouton_ps); //bouton_ps.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); //bouton_ps.addEventListener(MouseEvent.MOUSE_OUT, out); } private function over(event:MouseEvent):void { trace("entré dans over"); /*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(); }*/ } }
http://help.adobe.com/en_US/FlashPla...Event.html#top
ne vois pas le sprite comme une forme mais comme un displayObjectContainer, ajoute ton bouton dans un sprite et sa marchera ou mieux fais en sorte que ton bouton soit un sprite avec l image dedans.
la class pour definir dessiner une forme c est Shape. de plus Sprite herite d interactiv object et est le container le plus utilise en as3 ;)
Problème résolu :)
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
42
43
44
45
46
47
48
49
50
51 package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.display.SimpleButton; import flash.events.TimerEvent; import flash.utils.Timer; import flash.display.Sprite; import flash.display.Bitmap; public class mainClass extends MovieClip { public function mainClass() { //BOUTON PHOTOSHOP var dataps:logo_ps = new logo_ps(30,30); var imgps:Bitmap = new Bitmap(dataps); var btn_ps:bouton = new bouton(); btn_ps.addChild(imgps); btn_ps.x = 50; btn_ps.y = 150; addChild(btn_ps); } } } import flash.display.Sprite; import flash.display.Bitmap; import flash.events.MouseEvent; import flash.events.TimerEvent; import flash.utils.Timer; import com.greensock.TweenLite; class bouton extends Sprite { public function bouton() { addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); } private function mouseOverHandler(event:MouseEvent):void { TweenLite.to(this,.15,{scaleX:1.25,scaleY:1.25}); } private function mouseOutHandler(event:MouseEvent):void { TweenLite.to(this,.15,{scaleX:1,scaleY:1}); } }