begin process at 2010 03 14 00:31:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

Probleme Event/StageX/Enterframe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme Event/StageX/Enterframe

mercredi 15 avril 2009 à 18:15:10 | Probleme Event/StageX/Enterframe

aerofx

Bonjour,

Tout nouveau avec AS3 je suis un peu perdu..

Voilà, j'essaie de faire une petite fonction toute bête (dessiner des carrés à la suite de toute les couleurs) mais qui me pose problème et je pense que cela pourra m'aider dans ma compréhension générale de l'AS3.
Mon problème est que j'ai un "conflit" avec le stageX placer dans la fonction enterframe. Comment résoudre ce problème?
Merci d'avance pour votre aide,

FX

Voici le code de ma class:

package
    {
    // import des classes necessaires
    //import flash.events.TUIO;
    import flash.net.URLRequest;
    import flash.display.*;
    import flash.events.*;
    //import flash.geom.*;

   
   
   
    dynamic public class Gone extends MovieClip
   
    {
        var sqrholder:Sprite=new Sprite();
        var onoff:Number=1;
       
       
        public function Gone(){
           
            //mise en oeuvre du TUIO
        TUIO.init( this, 'localhost', 3000, '', true );
           
            // attach du conteneur à carrés
        addChild(sqrholder);
   
            //Ecouteur à clic pour placer les carrés:
            stage.addEventListener(MouseEvent.MOUSE_DOWN, dessineCarre);
            stage.addEventListener(MouseEvent.MOUSE_UP, dessineCarreOFF);
           
            //stage.addEventListener(TouchEvent.MOUSE_DOWN, dessineCarre);
            //stage.addEventListener(TouchEvent.MOUSE_UP, dessineCarreOFF);
        }
       
       
        private function enterframe(e:Event){
            //nouveau carre
            var sqr:Sprite = new Sprite();
            //def du carre
            sqr.graphics.beginFill(0xFFFFFFFF*(Math.random()),1);
            sqr.graphics.drawRoundRect(-25,-25,50,50,40,40);
            sqr.x = e.stageX
            sqr.y = e.stageY;
            //attach du carre dans son conteneur:
            sqrholder.addChild(sqr);
            }
           
        //Fonction de dessinage de carrés:
            private function dessineCarre(pe:Event)
                {
            //trace("ON");
            stage.addEventListener(Event.ENTER_FRAME,enterframe);
            }
       
        //Fonction d'arret de dessinage de carrés:
            private function dessineCarreOFF(pe:Event)
                {
            //trace("OFFFFFFF");
                stage.removeEventListener(Event.ENTER_FRAME,enterframe);
            }
       
    }
}
mercredi 15 avril 2009 à 19:05:10 | Re : Probleme Event/StageX/Enterframe

pegase31

Membre Club Administrateur CodeS-SourceS
Bonsoir,

Le problème est que "stageX" est une propriété de MouseEvent, et pas d'Event .. donc n'est pas applicable dans le cas présent.
Je me demande d'ailleurs ce que tu cherches à récupérer via cette méthode ...

Peg'
jeudi 16 avril 2009 à 09:54:14 | Re : Probleme Event/StageX/Enterframe

Improve

Réponse acceptée !
J'ai bien du mal à suivre ton script. Juste la méthode drawRoundRect(); demande 5 paramètres alors que tu en as 6. Celui-ci devrais levé une erreur à la compilation.

Tu utilise les ressources à un moment du script qui n'est pas essentielle. Voici un exemple »

dynamic public class Gone extends MovieClip
{
   //.. Non initialisé. Non mémorisé.
   var sqrholder:Sprite;
   var onOff:Number;
   //..
   public function Gone()
   {
      //.. Initialisation de l'objet et
      //.. mise en mémoire de l'objet.
      sqrholder = new Sprite();
      addChild(sqrholder);
      //..
      onOff = 1;
   }
}

Cette façon de faire optimise ton programme et par le fait centralise ton code. C'est un peu plus propre. N'oubli pas que la mise en mémoire d'un objet se fait à partir du moment où une variable est initialisée. Il n'était pas nécessaire dans ton cas d'initialisée la variable sqrholder dans la zone des définitions des membres de classe.

Tu devrais aussi protéger tes variables
Voici un exemple »

private var sqrholder:Sprite;
private var onOff:Number;

Beaucoup d'autres choses pourront être dit à propos de ton écriture » Exemple.

import flash.display.*;

Tu importe toutes les classes du package flash.display alors que tu n'utilise que MovieClip et Sprite. Prends soin de celà car ainsi tu optimise ton programme. Il ne sert à rien d'importer des classes que tu n'utilise pas.

C'est beaucoup mieux ainsi »

import flash.display.MovieClip;
import flash.display.Sprite;

Si tu n'as pas le PDF de Thibeault Imbert voici l'adresse de son livre.
1096 pages en français. Que du bonheur dans l'apprentissage AS3.

http://pratiqueactionscript3.bytearray.org/?page_id=4

Improve
jeudi 16 avril 2009 à 14:05:57 | Re : Probleme Event/StageX/Enterframe

aerofx

Hello,

Merci pour vos réponse, j'ai finalement trouvé réponse à ma question (pour faire correspondre mes petits carrés aux curseurs TUIO, il fait recupérer leurs coordonnées via  la méthode TUIOObject , il me semble).
Merci Improve, je vais suivre tes conseils pour l'optimisation du code et puis , conseiller le livre de Thibault Imbert est toujours une bonne chose!
Bonne journée,
FX


Cette discussion est classée dans : import, stage, event, enterframe, sqr


Répondre à ce message

Sujets en rapport avec ce message

Afficher le résultat d'une URL dans un champ texte [ par veve59 ] Bonjour,je debute en Fash CS3 AS3Je veux mettre dans un champ texte le résultat de urlhtt Je préfère flvplayer au lecteurs proposé par flash lors de l'import de vidéo. j'ai trouvé le code source. maintenant je fais quoi? [ par robingreen ] lors de l'import de vidéo sur la scene de flash cs3, flash prpose des lecteurs tout fait.mais aucun ne propose du "full screen".j'ai trouvé flvplayer Stage.align et tween [ par jeep501 ] Bonjour,J'ai un problème avec Stage.align et tween - j'essaie de faire comme ici : http://www.chezboris.comJ'ai juste un clip (lacarte_mc) avec un cli Pb menu dynamique vertical [ par SuNn123 ] Bonjour,J'essaie de réaliser mon menu personnalisé, après avoir lu qques pdf :var photo:Loader;for (var i:in Déclencher une animation d'objet avec un Mouse Event [ par anhamaline ] Bonjour, je travaille en ce moment sur une animation flash avec AS3. Il s'agit d'interaction avec des objets posés sur la scène. Pour l'instant, à cha création d'un fichier xml [ par hajjajiayda ] Salut, j'ai une formulaire qui contient des TextField, et je veux extraire les données de ces "TextField" et les enregistrer dans un fichier Xml et vo stage et align [ par Ikarr ] bonjour, je suis débutant en AS3 et je veux faire en sorte que mon swf prenne les dimension de la fenêtre du navigateur et qu'il y ai une bande (clip) erreur propriété tween [ par clem037 ] Bon jour à tous,Voila je suis en train de réaliser une bannière flash en AS3 et je souhaite animé un de mes MovieClip avec une propriété tween. Voici plantage PHPMyAdmin par AS3 [ par leroidelesprit ] Bonjour, J'ai quelques soucis persistants avec une interaction que j'essaie d'implanter dans une page html:Il s'agit d'un site de généalogie...Mon idé AS3 probleme ajouter donnée dans Array [ par clem037 ] bonjour, je suis actuellement en train de faire un piti jeu qui shoot des oiseaux avec une cible ( pauvre piti moineaux je suis dsl pour eux!!) Je sou


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales