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

ActionScript 1 & ActionScript 2 Discussion :

Problême duplication collision AS2


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Points : 49
    Points
    49
    Par défaut Problême duplication collision AS2
    Bien le bonjour chère Fauxrhum!
    Je viens solliciter votre aide car je deviens fou sur un code qui veut pas marcher, enfin une partie est ok mais l'autre non.
    Je vous explique:

    Ce code fait partie d'un jeu que je fais sous flash, des boules sont dupliquées à partir de "cible_btn", et ce une fois par seconde et bouge aléatoirement sur la scène de droite à gauche. Ces boules dupliquées ce nomme "new"+j+"mc", avec j qui est incrémenté chaque seconde.
    A gauche ce trouve un rectangle nommé "sortie".

    Le but de la manoeuvre et que quand une boule touche "sortie" elle disparait.
    D'ou ma collision hitTest.
    Cela marche parfaitement avec cible_btn.
    Mais ce qui est des boules dupliquées ("new"+j+"mc"), impossible!
    Elles bougent mais la collisition n'est pas prise en compte et ma variable evade ne s'incrémente pas!

    "new"+j+"mc".onEnterFrame = function()

    Je sais que ce code ne peux pas marcher mais bon mon but est d'appliquer ce code a chaque nouvelle boule qui se duplique!
    Mais comment ce faire

    J'espère avoir été clair,
    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
    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
    //VARIABLES
    nb_mc = 1;
    temps = 0;
    j = 0;
    evade = 0;
     
    //VOILA LA BOUCLE QUI DUPLIQUE
    var mon_interval = setInterval(seconde, 1000);
    function seconde() {
    duplicateMovieClip(cible_btn, "new"+j+"mc", nb_mc);
    nb_mc++;
    temps++;
    j++;
    trace(j);
    if (temps == 10) {
    clearInterval(mon_interval);
    }
    }
     
     
    //ACTION DE COLLISION AVEC MA BOULE CIBLE_BTN
    cible_btn.onEnterFrame = function() {
    if (!sortie.hitTest(cible_btn)) {
    return;
    }
    if (evade<=0) {
    evade++;
    removeMovieClip("new"+j+"mc");
    cible_btn._visible = false;
    }
    };
     
    //ACTION DE COLLISION AVEC MA BOULE "NEW"+J+"MC"
    "new"+j+"mc".onEnterFrame = function() {
    if (!sortie.hitTest("new"+j+"mc")) {
    return;
    }
    if (evade<=0) {
    removeMovieClip("new"+j+"mc");
    }
    };
    stop();
    Besoin d'un artisan ? Trouvez votre bonheur ici : http://www.touslesartisans.com

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    je pense qu un truc comme ça fonctionera mieu mais c est à tester


    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
    17
    18
    19
    20
    21
    //VOILA LA BOUCLE QUI DUPLIQUE
    var mon_interval = setInterval(seconde, 1000);
    function seconde() {
      duplicateMovieClip(cible_btn, "new"+j+"mc", nb_mc);
      //ACTION DE COLLISION AVEC MA BOULE "NEW"+J+"MC"
      this["new"+j+"mc"].onEnterFrame = function() {
        if (!sortie.hitTest("new"+j+"mc")) {
          return;
        }
        if (evade<=0) {
          removeMovieClip("new"+j+"mc");
        }
      };
      nb_mc++;
      temps++;
      j++;
      trace(j);
      if (temps == 10) {
        clearInterval(mon_interval);
      }
    }

    Au pire mais ton fichier se sera plus simple

Discussions similaires

  1. Problème de "collision" avec un "EDIT"
    Par Darkenshin dans le forum Windows
    Réponses: 2
    Dernier message: 31/05/2007, 13h21
  2. problème duplicate entry
    Par beberd dans le forum Requêtes
    Réponses: 6
    Dernier message: 21/03/2007, 16h54
  3. Problème de collisions personnage - acteurs
    Par Axelkill dans le forum PhysX et APEX
    Réponses: 3
    Dernier message: 27/02/2007, 18h47
  4. [C#] Problème duplication intempestive dans treeview
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 6
    Dernier message: 12/06/2006, 10h23
  5. Problème de collision en 2D
    Par Clad3 dans le forum Physique
    Réponses: 3
    Dernier message: 26/05/2006, 00h18

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