Probleme Condition / Suppression d'un clip

Résolu
cs_Fleming57 Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 17 février 2009 - 16 févr. 2009 à 19:32
cs_Fleming57 Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 13:59
Voila, je suis étudiant, et je dois réaliser un mini jeux en flash... Je n'ai pas beaucoup de base en flash malheureusement, et le prof est partisant du moidre effort... Donc, j'espère que vous pourriez m'aider. J'explique ci dessous mon projet:

Je controle un nuage grace aux flèches droite/gauche, et je peux lancer des éclaires. Je dois toucher (avec ses éclaires) des bonhommes qui court de gauche a droite, et qui me lance des ballons sondes.
Jusque là, tout fonctionne à peu près...
Quand je touche un bonhomme, j'incremente mon score de 1. Ca, c'est bon aussi.
Quand je me fais toucher, je perds une vie. Là, ça coince...
Je ne veux pas passer par la facilité, qui consisterait a décrémenter un compteur commençant a 3 (de toute façon, je ne serais même pas comment arrêter ce compteur pour ne pas qu'il descende en dessous de 0).

Je veux avoir 3 vies. J'ai créé dans ma bibliotèque un clip "vi". J'ai posé sur ma scène 3 instances "vi". Elles portent chacune un nom différent pour ne pas toutes les supprimer en même temps: "VI1","VI2","VI3".

J'ai mit ceci en ActionScipt:

****************************************************
onLoad = function()
{
    _root.life_counter=3;
    _root.d_counter = 0;
    _root.score.text = _root.d_counter;
    _root.life.text = _root.life_counter;
   
    if( _root.life_counter==2)
    {
        trace("1ere vie perdu");
        //_root.VI1.swapDepths (16384);
        //removeMovieClip (VI1);
    }
    if( _root.life_counter==1)

    {

        trace("2eme vie perdu");

        //_root.VI2.swapDepths (16384);

        //removeMovieClip (VI2);

    }
    if( _root.life_counter==0)

    {

        trace("GAME OVER");

        //_root.VI3.swapDepths (16384);

        //removeMovieClip (VI3);

    }
}
****************************************************

Bon, je sens d'ici que certaines personnes vont me dire que j'ai fait des atrocité dans le code, ou bien de développer certains points, mais n'oubliez pas que je suis vraiment débutant

Je ne sais pas vraiment a quoi sert onLoad = function()
Je sais que mes deux compteurs marchent. Alors pourquoi ma condition ne marche-t-elle pas?
Il ne me trace rien, donc, j'en conclu que ma condition est toujours fausse...

Aidez moi SVP, je suis vraiment fatigué de ne pas comprendre...

2 réponses

cs_Fleming57 Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 13:59
Bon ba, au bout de 2 jour et demi de recherche acharné, j'ai fini par trouver...
Je suis un peu déçu qu'ici, il n'y est personne qui a proposé son aide, où même donner un site bien expliqué, juste au moins pour orienter...

Je reponds tout de même à mon propre problème, car si quelqu'un se retrouve nez à nez avec ce problème, il pourra le résoudre, où au moins, il sera où chercher...

Mes conditions ne sont vérifié qu'au début du lancement du flash. Il faut donc que mes conditions soit continuellement vérifié. Pour cela, il faut les placer dans une fonction bien spécifique. Voici comment on s'en sert:

****************************************************
_root.onEnterFrame = function()
{
//BLOC D'INSTRUCTIONS
}
****************************************************

Et je vous mets ici l'adresse d'un tutoriel sur flash très bien foutu. Il prends la peine d'expliquer, et il y a même des exercices à chaque fin de chapitre:
http://www.siteduzero.com/tutoriel-3-7474-flash-bien-pas-bien.html

Flem.
3
cs_Fleming57 Messages postés 5 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 17 février 2009
16 févr. 2009 à 23:55
Personne?

Je peux juste rajouter que le code d'incrémentation et de décrémentation sont dans les objets concerné: éclaire et sonde.
Je vous met ici le code de décrémentation

****************************************************
this.onEnterFrame = function()
{
if(this.hitTest(_root.NUNU1.nunu.nunu.NUNU2))
{
_root.life_counter-=1;
_root.life.text= _root.life_counter;
this._parent.gotoAndStop(1);
}
}
****************************************************

_root.NUNU1.nunu.nunu.NUNU2 est mon nuage que je dois atteindre.

Certain m'ont dit que cela vient peut-être du fait que onLoad s'execute qu'une seule fois.... Qu'en pensez vous?

Par pitié, aidez moi SVP.
Merci d'avance!
0
Rejoignez-nous