compteur
 
AccueilPortailFAQS'enregistrerConnexion

Partagez | 
 

 [Résolu] fonction globale (_global, prototype)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
ketchopi
Accro
Accro


Nombre de messages : 63
Localisation : Canada
Date d'inscription : 01/03/2010

Message Sujet: [Résolu] fonction globale (_global, prototype)   Sam 19 Fév 2011, 01:09

Bonjour à tous.
Je reviens à e-anim après plusieurs mois d'arrêt, alors j'suis un peu rouillé en as2.
Voici mon problème:

Dans une anim (nommée "anim_une") je déclare une fonction "message" qui affiche un message:
Code:
static function message(texte:String)
{
   //Ici, j'affiche mon message "texte";
}

Mais je tiens à importer cette animation dans une autre animation ("anim_deux") qui aura besoin d'appeler la fonction "message".
Dans "anim_une" je déclare donc
Code:
_global.message_deux = function(texte:String)
{
   anim_une.message(texte);
};

Donc, dans "anim_deux", si je veux afficher "Bonjour", j'écris
Code:
_global.message_deux("Bonjour");

Ceci fonctionne mais le compilateur me donne 3 warnings pour cette ligne de code:
Code:

0 <anim_deux.as> {("} - ';' expected
1 <anim_deux.as> {);} - ';' expected
2 <anim_deux.as> {;<new line>} - '}' expected
et du coup les fonctions déclarées plus bas dans le code ne sont pas reconnues et leurs appels sont affichés en warning aussi :-/


Une idée?

Merci d'avance :-)


Dernière édition par ketchopi le Dim 20 Fév 2011, 18:19, édité 1 fois
Revenir en haut Aller en bas
chris_c
Accro
Accro


Nombre de messages : 8400
Age : 46
Date d'inscription : 18/11/2007

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Sam 19 Fév 2011, 01:36

tu as essayé de sauver, ya un message d'erreur de MTASC ? parfois le compilateur indique une erreur, mais ca fonctionne quand meme.

sinon aucune idée
Revenir en haut Aller en bas
ketchopi
Accro
Accro


Nombre de messages : 63
Localisation : Canada
Date d'inscription : 01/03/2010

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Sam 19 Fév 2011, 02:10

Merci pour ta réponse.
Oui oui ça fonctionne, c'est juste que je me demandais si ça fonctionne par chance ou si y'a un problème. J'avais pas pensé que ça pouvais être un bug de MTASC.

Mais y'aurait un moyen pour que cette erreur ne s'affiche plus (peut-être une autre façon de déclarer et d'utiliser des fonctions _global) ?? Parce que du coup, le reste de mon programme est affiché en noir sans toutes le jolies ptites couleurs bien pratiques lors de relecture du code.

Merci.
Revenir en haut Aller en bas
TORAK
Accro
Accro


Nombre de messages : 1452
Age : 27
Localisation : Ain
Loisirs : prog, soft, hardware, sciences physiques & cosmologie
Date d'inscription : 23/12/2008

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Sam 19 Fév 2011, 22:43

au lieu d'utilisé _global tu peux le faire avec _root (je sais, utilisé _root c'est caca mais ça évite d'avoir des soit disante erreur de compil...)

_root.message_deux = function(texte:String)...
Revenir en haut Aller en bas
http://torak01.fr/
Invité
Invité



Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Sam 19 Fév 2011, 23:10

Oui mais avec _root. c'est caca (pourquoi ?) :!:
Revenir en haut Aller en bas
TORAK
Accro
Accro


Nombre de messages : 1452
Age : 27
Localisation : Ain
Loisirs : prog, soft, hardware, sciences physiques & cosmologie
Date d'inscription : 23/12/2008

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Dim 20 Fév 2011, 01:51

ça peut potentiellement créer des conflits car _root est utilisé pour les movieclip (les groupes), en plus eanim crée beaucoup de variable avec _root (tout les champs de texte on leur variable _root.nomdutexte_text) et enfin, le bouquet, si tu importe une animation avec des variable faisant référence a _root, dans une autre anim .... c'est bien simple : plus rien ne marche :face:

donc voila, _root en a déja beaucoup sur le dos, inutile d'en rajouter Laughing (si c'est a petite échelle comme là, ça va, on ferme les yeux ^^)

je viens d'essayé une autre méthode qui a l'air de marché et qui est plus jolie ^^ :
Code:
class help{
static var mafonction:Function;

   static function action_0(mc:MovieClip):Void{
    
     mafonction = function(texte:String){
        help.action_0();
      };
   
   }
}
Revenir en haut Aller en bas
http://torak01.fr/
ketchopi
Accro
Accro


Nombre de messages : 63
Localisation : Canada
Date d'inscription : 01/03/2010

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Dim 20 Fév 2011, 17:13

Merci TORAK pour cette réponse,
mais j'ai bien peur qu'elle ne dépasse mes compétences.

Cette classe, elle est déclarée où ? Dans la première ou dans la deuxième animation ? Et si c'est dans la première, je fais comment pour l'appeler dans ma deuxième (celle qui importe ma première) ?

Merci.

Revenir en haut Aller en bas
ketchopi
Accro
Accro


Nombre de messages : 63
Localisation : Canada
Date d'inscription : 01/03/2010

Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Dim 20 Fév 2011, 18:18

Trouvé Very Happy
Le mot magique, c'est prototype

Au lieu de créer une fonction globale (_global.message_deux) dans mon animation "anim_une", je déclare un prototype comme cela (dans ma fonction d'initialisation de "anim_une")
Code:
MovieClip.prototype.message_test = function (texte:String)
{
   anim_une.message(texte);
};

Et dans mon "anim_deux", après avoir chargé "anim_une" comme ceci
Code:
var mon_anim_chargee = mc.createEmptyMovieClip("animation_importee", mc.getNextHighestDepth());
var monClip = new MovieClipLoader();
var monEcouteurDeClip = new Object();
      
monEcouteurDeClip.onLoadInit = function(cible)
{
   cible.finie_de_charger = true;
};

monClip.addListener(monEcouteurDeClip);
monClip.loadClip("./swf/anim_une.swf", mon_anim_chargee);

je peux faire un
Code:
_root.animation_importee.message_test("Youpi")

Ça fait un petit warning dans MTASC, mais le reste du code est correctement affiché (puis j'ai lu dans les forums qu'il vaut mieux réserver _global pour les variables et faire des prototypes pour les fonctions [mais je ne sais pas pourquoi]).

Merci pour votre aide.

edit:
mais si on fait passer le _root en paramètre, comme ceci
Code:
ma_fonction_ou_sera_appele_MESSAGE_TEST(_root);
avec
Code:
static function ma_fonction_ou_sera_appele_MESSAGE_TEST (mc:MovieClip)
{
    mc.animation_importee.message_test("Youpi");
}

là y'a plus de warning Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé




Message Sujet: Re: [Résolu] fonction globale (_global, prototype)   Aujourd'hui à 05:02

Revenir en haut Aller en bas
 
[Résolu] fonction globale (_global, prototype)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Mot de passe smtp
» [Résolu] MSN vérolé
» [ Résolu ] Controle parental Orange
» [résolu]pc infecté par wwwzuc32.exe
» [Résolu] Photoshop CS2 : tampon

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Utiliser E-anim :: Comment faire :: Sujets résolus ou sans suite-
Sauter vers: