EnterFrame ??? Avec RollOver

cs_JulzTribal Messages postés 2 Date d'inscription dimanche 4 mars 2007 Statut Membre Dernière intervention 21 janvier 2008 - 4 mars 2007 à 21:26
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 - 7 mars 2007 à 11:12
Bonjour a vous, j ss amateur !!!

J viens creer un petit jeu (debile) lol
Avec RollOver et EnterFrame

J'arrive pas d reussir d bouton si vous connaissez bien
car j cherche bcp mais je ne trouve pas snifff
je vous laissez code

Xmin = 15;
Ymin = 15;
Xmax = 475;
Ymax = 355;
secu = 20;
//Bouton Haut
haut.onEnterFrame = function() {
};
haut.onRollOver = function() {
 if (carre._y>Ymin+secu) {
  carre._y = carre._y-20;
 } else {
  if (carre._y>Ymin) {
   carre._y -= 1;
  }
 }
};
//Bouton Droite
droite.onRollOver = function() {
 if (carre._x<Xmax-secu) {
  carre._x = carre._x+20;
 } else {
  if (carre._x<Xmin) {
   carre._x += 1;
  }
 }
};
//bouton Bas
bas.onRollOver = function() {
 if (carre._y<Ymax-secu) {
  carre._y = carre._y+20;
 } else {
  if (carre._y<Ymax) {
   carre._y += 1;
  }
 }
};
//BoutonGauche
gauche.onRollOver = function() {
 if (carre._x>Xmin+secu) {
  carre._x = carre._x-20;
 } else {
  if (carre._x>Xmin) {
   carre._x -= 1;
  }
 }
};
//Bouton Haut-gauche
hautgauche.onRollOver = function() {
 if (carre._y>Ymin+secu) {
  carre._y = carre._y-20;
 } else {
  if (carre._y>Ymin) {
   carre._y -= 1;
  }
 }
 if (carre._x>Xmin+secu) {
  carre._x = carre._x-20;
 } else {
  if (carre._x>Xmin) {
   carre._x -= 1;
  }
 }
};
//Bouton Bas-Gauche
basgauche.onRollOver = function() {
 if (carre._y<Ymax-secu) {
  carre._y = carre._y+20;
 } else {
  if (carre._y<Ymax) {
   carre._y += 1;
  }
 }
 if (carre._x>Xmin+secu) {
  carre._x = carre._x-20;
 } else {
  if (carre._x>Xmin) {
   carre._x -= 1;
  }
 }
};
//Bouton Haut-droite
hautdroite.onRollOver = function() {
 if (carre._y>Ymin+secu) {
  carre._y = carre._y-20;
 } else {
  if (carre._y>Ymin) {
   carre._y -= 1;
  }
 }
 if (carre._x<Xmax-secu) {
  carre._x = carre._x+20;
 } else {
  if (carre._x<Xmin) {
   carre._x += 1;
  }
 }
};
//Bouton Bas-Droite
basdroite.onRollOver = function() {
 if (carre._y<Ymax-secu) {
  carre._y = carre._y+20;
 } else {
  if (carre._y<Ymax) {
   carre._y += 1;
  }
 }
 if (carre._x<Xmax-secu) {
  carre._x = carre._x+20;
 } else {
  if (carre._x<Xmin) {
   carre._x += 1;
  }
 }
};

J espere qu vous trouvez Merci (dsl pour les phrases mal compris j ss sourd :s)

1 réponse

Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
7 mars 2007 à 11:12
Salut,

Je ne comprends pas trop à quoi sert ton onEnterFrame ...

Tu voudrais peut être que le carré bouge sans intérruption tant qu'on passe sur un de tes boutons ?
Si c'est ça, tu peux t'en sortir plus simplement :

Code : 
   // Création d'une variable qui recevra l'interval pour animer en boucle le déplacement
   var mon_interval   :Number   = 0;

   // Fonction qui déplace le carré
   function deplacement_carre(deplacement_x :Number, deplacement_y :Number){
      // Je vérifie que le carré ne soit pas en dehors de la zone demandée
      if((deplacement_x >0 && carre._x < x_max_secu) || (deplacement_x <0 && carre._x > x_min_secu)){
           carre._x    += deplacement_x; 
      }
      if((deplacement_y >0 && carre._y < y_max_secu) || (deplacement_y <0 && carre._y > y_min_secu)){
           carre._y    += deplacement_y;
      }
   }
   
   // Lancement des actions des roll over
   haut.onRollOver = function(){
      mon_interval   = setInterval(deplacement_carre, 100, 0, -20);
   }
   bas.onRollOver = function(){
      mon_interval   = setInterval(deplacement_carre, 100, 0, 20);
   }
   gauche.onRollOver = function(){
      mon_interval   = setInterval(deplacement_carre, 100, 0, -20);
   }
   droite.onRollOver = function(){
      mon_interval   = setInterval(deplacement_carre, 100, 0, 20);
   }

   // Ne pas oublier d'arrêter la boucle quand on sort du bouton   haut.onRollOut bas.onRollOut gauche.onRollOut Over = droite.onRollOut = function(){
      clearInterval(mon_interval);
   }

// Fin du code

Une chose qui pourrait te provoquer d'erreur dans le code : Xmax-secu, il vaut mieux mettre ça entre parenthèse pour éviter des éventuels soucis.

Je n'ai malheureusement pas Flash sur ce PC donc je ne peux pas vérifier et t'assurer qu'il n'y ait pas d'erreur dans mon code.
Donc pense à relire le code et à le tester ^^

A+
--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
0
Rejoignez-nous