IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH MX2004] variable


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 13
    Par défaut [FLASH MX2004] variable
    Bonjour à tous,

    Voilà je me suis mit depuis peu au flash(flash mx 2004 pro), et j'essaye de faire un jeu pour mon site.C'est un labyrinthe. Je commence juste et j'arrive à détecter les collisions et a faire que mon rond s'arrete contre le mur. Mais le probleme c'est que je serais amener à avoir une bonne cinquentaine de mur dans mon labyrinthe. J'aimerais avoir un code plus optimisé au lieu d'avoir ue ligne ou il il y a 50 instructions. Je vous fais voir mon code, je débute alors si il il y a quelquechose qui va pas dite le moi merci beaucoup.

    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
    onClipEvent (enterFrame) 
    {
    	 if (Key.isDown(Key.RIGHT)) this._x += 5; 
    	 if (Key.isDown(Key.LEFT)) this._x -= 5;
    	 if (Key.isDown(Key.DOWN)) this._y += 5; 
    	 if (Key.isDown(Key.UP)) this._y -= 5;
     
    //test de collision si collision on inverse la poussée qui devient nulle
    		if (this.hitTest(_root.mur1) || this.hitTest(_root.mur2) || this.hitTest(_root.mur3) || this.hitTest(_root.mur4) || this.hitTest(_root.mur5) || this.hitTest(_root.mur6) || this.hitTest(_root.mur7))
    	 	{			
    	if (Key.isDown(Key.RIGHT)) this._x-=5 ;
    	if (Key.isDown(Key.LEFT)) this._x+=5 ;
    	if (Key.isDown(Key.DOWN)) this._y -= 5;
    	if (Key.isDown(Key.UP)) this._y += 5;
    	}
    }
    Pour l'instant je n'ai que 7 murs et la ligne et dejà très longue, y'a t-il un moyen pour optimiser ce code??

    Merci

    @+

  2. #2
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 46
    Par défaut
    faudrait voir si tu peux pas intégrer tous tes murs dans un même clip et faire le hitTest sur ce clip, mais chuis franchement pas sûr que ça marche.

    sinon t'as tjs la solution bourrine : tu fais une boucle sur tous tes murs et tu fais le hitTest sur un mur à chaque occurence de la boucle. C'est porc, mais bon, avec flash la propreté n'est pas le maître mot ^^


    Au passage, tu devrais plutôt utiliser une variable ou des booléens quand le mec appuie sur la touche, parce que des fois que le mec soit pas trop lent à appuyer sur les touches, c'est pas garanti que tu deuxième test sur les touches enfoncées fonctionne.

Discussions similaires

  1. [FLASH MX2004] variables passées dans l'URL
    Par lozit dans le forum Flash
    Réponses: 4
    Dernier message: 21/09/2006, 20h45
  2. [FLASH MX2004] Variable php vers flash
    Par Rhadamanthe59 dans le forum Flash
    Réponses: 8
    Dernier message: 01/03/2006, 22h14
  3. [FLASH MX2004] Variable de Textfield comme param
    Par sovitec dans le forum Flash
    Réponses: 5
    Dernier message: 09/01/2006, 12h11
  4. [FLASH MX2004] Variable URL vers FLASH et accents
    Par daner06 dans le forum Flash
    Réponses: 1
    Dernier message: 25/07/2005, 22h50
  5. Réponses: 7
    Dernier message: 05/12/2004, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo