begin process at 2012 02 10 07:29:46
  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 Gestion site full flash en actionscript 3// Message error #1009: impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul. [ par opendesigns ] Message error #1009: impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul. Gestion site full flash en actionscript 3 Bonjo Problème composant flash qui clignote (TROP) à chaque changement de valeur! je veux qu'il soit stable [ par dimabab ] Bonjour j'ai réalisé un composant flash avec AS3, et je l'intègre dans une page html , ce composant reçoit des données d'une manière permanente (la accès au objet sur la scène en utilisant les Class [ par jihednond ] Bonjour, je suis au cour de création d'un jeux 2D rpg simple mais j'ai eu un petit problème [^^langue3] j'ai créer une classe appelé "mure" pour emp unBouton.addEventListener(MouseEvent.CLICK, onclick(Event, String)); Impossible ? [ par Okutsuko ] Bonjour tout le monde, Je rencontre actuellement un petit problème en AS3, j'ai fais une boucle pour créer plusieurs boutons, et je veux ajouter des Délai chargement aléatoire [ par noelement ] Hello, j'aurais aimé savoir s'il étatait possible de rajouter un délai pour le chargement aléatoire de mon script exemple : changement toute les 3 sec connexion aune base de donnée avec flash [ par trek9505 ] Bonjour, J'essaye de charger dans un bloc texte sur mon swf, les textes enregistré dans ma base de données en as2, j'ai fait des essai mes sans succe probleme de syntaxe [ par mtlbss ] Bonjours a tous, voila je travail actuelement sur un code fournis dans le livre de Stéphane Popu, "Actionscript 3 niveau 2 Utilisation des...", je sui Tween et fonction rewind() [ par michmichman ] Bonjour je cherche à réaliser une animation toute simple(en AS3). Je dessine un rectangle et au click je déclenche une tween, jusque la tout va bien ! Problèmes avec player pour webradio. [ par SteppenWulf ] Bonsoir, J'essaie de créer un player pour écouter ma webradio... Mais je rencontre des problèmes. ( Je suis un Newbie, j'utilise flash depuis ce we


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,328 sec (4)

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