begin process at 2012 05 27 07:14:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Erreur de fonction dans une classe


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Erreur de fonction dans une classe

mardi 5 mai 2009 à 18:30:51 | Erreur de fonction dans une classe

on_drag_on

Membre Club
Bonjour à tous,

Je suis entrain de créer une classe pour un lecteur vidéo avec chargement XML. Jusque-là tout fonctionne. Maintenant j'ai créé un clip bar de classe Bar dans laquelle est imbriqué un clip play_btn.
Je crée donc une fonction functionPlay et je place ma méthode play() dedans. Là il me sort une erreur: Un terme n'est pas défini et n'a pas de propriété. at Main/functionPlay().

Alors mes questions sont: sauriez-vous m'expliquer le pourquoi de cette erreur et, étant donné que je débute dans ces classes et que j'ai encore beaucoup de peine avec la logique AS3,est-ce que mon code vous semble "propre" ?

Voici mon code:

package

{
    import flash.display.*;
    import flash.events.*;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import fl.video.FLVPlayback;
   
    public class Main extends MovieClip
   
        {
            private var xmlURL:URLRequest = new URLRequest("videos.xml");
            private var xmlLoader:URLLoader = new URLLoader(xmlURL);
            private var player:FLVPlayback = new FLVPlayback();
            private var bar:Bar = new Bar();

                public function Main():void
       
                    {
                        xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
                        xmlLoader.load(xmlURL);
                        bar.play_btn.addEventListener(MouseEvent.CLICK, functionPlay);
                    }
       
                public function xmlLoaded(pEvt:Event):void
       
                    {
                        bar.y = 270;
                        player.width = 480;
                        player.height = 270;
                        player.autoPlay =false;
                        addChild(player);
                        addChild(bar)
                    }
                   
                public function functionPlay(pEvt:MouseEvent):void
               
                    {
                        var xml:XML = new XML (pEvt.target.data);
                        var xmlList:XMLList = xml.elements();
                        player.play(xmlList[1].@stream);
                    }
                   
            }
                   
}

Merci à ceux qui prendront le temps de se pencher sur mon problème ^^.

@+.
telov.ch

mardi 5 mai 2009 à 19:15:43 | Re : Erreur de fonction dans une classe

gremlins7

Membre Club


Salut,
c'est ptet ça mais je suis pas sur :
import MonRepertoire.Bar

L'erreur srvient quand tu code la fonction play ou quand tu rajoute ton objet bar ?

Sinon le code me semble propre.
a+
Grems

mardi 5 mai 2009 à 19:22:05 | Re : Erreur de fonction dans une classe

on_drag_on

Membre Club
Si tu veux si je n'ai qu'un objet FLVPlayback dans ma biblio et que je place :

var xml:XML = new XML (pEvt.target.data);
var xmlList:XMLList = xml.elements();
player.play(xmlList[1].@stream);

Tout fonctionne.

Maintenant j'ajoute une barre de lecture (clip: bar) dans ma biblio. Dans cette barre de lecture j'ajoute mes clips play, pause, stop etc... je lie cette barre à l'AS en nommant sa classe Bar. J'ajoute une fonction "functionPlay" et je déplace les instructions ci-dessus dans cette fonction et là ça me génère l'erreur ...

@+.
telov.ch

mardi 5 mai 2009 à 19:28:22 | Re : Erreur de fonction dans une classe

gremlins7

Membre Club
Ok je crois savoir:
donc ton objet bar est dans la bibliotheque...
verifie si dans les propriètes de ton objet bar si l'option exporter pour actionscript est bien cochée, sinon choisi une classe mère movieclip ou sprite ou...(par defaut je crois qu'il met moviclip)
mardi 5 mai 2009 à 19:36:19 | Re : Erreur de fonction dans une classe

on_drag_on

Membre Club
Non ça c'est bon si je trace(bar); après son addChild j'ai bien un [object Bar]...

@+.
telov.ch

mardi 5 mai 2009 à 19:39:20 | Re : Erreur de fonction dans une classe

gremlins7

Membre Club
On pardon, j'ai repondu un peu vite...merci de ne pas tenir compte de mon precedant post...
donc quand ton FLVPlayback est dans la biblio pas de soucis, et lorsque tu essaye de l'ecrire en fonction ça coince...mais tu as bien du mettre du code derrière tes boutons play, pause, stop ? Si oui c'est quoi ?
mardi 5 mai 2009 à 19:44:42 | Re : Erreur de fonction dans une classe

on_drag_on

Membre Club
Merci déjà de prendre de ton temps ;)

En fait si je fais:

public class Main extends MovieClip
   
        {
            private var xmlURL:URLRequest = new URLRequest("videos.xml");
            private var xmlLoader:URLLoader = new URLLoader(xmlURL);
            private var player:FLVPlayback = new FLVPlayback();

                public function Main():void
       
                    {
                        xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
                        xmlLoader.load(xmlURL);
                    }
       
                public function xmlLoaded(pEvt:Event):void
       
                    {
                        var xml:XML = new XML (pEvt.target.data);
                        var xmlList:XMLList = xml.elements();
                        player.play(xmlList[1].@stream);
                        player.width = 480;
                        player.height = 270;
                        addChild(player);
                       
                    }

Là j'ai bien ma vidéo qui se lance.
Si j' ajoutes ce que j'ai dit plus haut ça me génère l'erreur citée ...

@+.
telov.ch

mardi 5 mai 2009 à 19:47:52 | Re : Erreur de fonction dans une classe

on_drag_on

Membre Club
P.S non j'ai pas encore mis le code pour pause stop etc... vu que déjà play ne fonctionne pas.
Si je trace(bar.play_btn); j'ai bien un objet movieclip je ne pense pas que ce soit un prob de ciblage (quoique) je penche plus pour une mauvaise ordonnance de mon code ...

@+.
telov.ch

mardi 5 mai 2009 à 19:49:15 | Re : Erreur de fonction dans une classe

gremlins7

Membre Club
Peu être que tu clique alors que le load n'est pas fini et que donc xmlList[1] n'est pas encore defini, pour eliminer cette erreur eventuelle deplace l'ajout de l'evenement click uniquement lorsque le load est fini


                public function xmlLoaded(pEvt:Event):void
       
                    {
                        bar.y = 270;
                        player.width = 480;
                        player.height = 270;
                        player.autoPlay =false;
                        addChild(player);
                        bar.play_btn.addEventListener(MouseEvent.CLICK, functionPlay);
                        addChild(bar)
                    }

mardi 5 mai 2009 à 19:55:58 | Re : Erreur de fonction dans une classe

on_drag_on

Membre Club
... non , il veut toujours pas me lire cette fonction quelque soit l'endroit ou je place mon écouteur ...

@+.
telov.ch


1 2 3

Cette discussion est classée dans : bar, var, xml, import, player


Répondre à ce message

Sujets en rapport avec ce message

Bannière AS3, import d'images via un XML...Problème de boucle [ par szekes ] Bonjours à tous, voilà je suis nouveau sur ce forum et je débute aussi en AS3... Autant dire que je n'y comprend pas grand chose encore...Mais sa va v AcrionScript 3 Lecture d'un fichier XML [ par nuns ] Bonjour, J'essaie de faire une classe pour charger un fichier xml, qui comporte juste le chemin des images sur le serveur. La lecture ce fait correc AS3 : puzzle avec chargement images via XML [ par nray ] Bonjour à tous, Je suis entrain de créer un puzzle et je souhaite charger de manière aléatoire 20 mes images (de 3 puzzles différents) via un fichier Demande d'aide pour une Galerie PaperVision3D avec XML [ par ximeng ] Bonjour à tous ! Et bravo à tout les flashkodiens, sans ce site je serai perdu ! Je suis super novice en AS3, et je n'ai jamais utilisé papervision j AS3 + XML [ par dimass01 ] Bonjour, Je suis débutant en AS3 et je souhaiterai faire une carte de france avec des boutons pour chaque département. Le survol d'un bouton va perm AS3 problème sous IE avec une animation de type caroussel développée avec papervision [ par jpetre ] Premièrement bonjour à tous car ceci est mon premier post sur ce site :) Alors mon soucis, c'est que mon animation, une fois développée et intégrée, f Récupérer les données d'une variable issu d'un fonction [ par multimania ] Bonjour à tous, Je suis dans flash AS3 Je cherche à utiliser des fichiers xlm pour faire des vérifications et agir différement dans mon appli flash Papervision 3D + primitives.addEventListener [ par Ariranha ] Bonjour à tous, Après avoir parcouru des "tonnes" de tutoriels et de post je me décide a poster ma question qui est vraiment très basique. Comment o combobox [ par karimovski19 ] Bonjour, Après deux jours de recherches fructueuses j'ai réussi à écrire ceci : stop(); info_xml = new XML(); info_xml.ignoreWhite = true; info_xml. Problèmes avec player pour webradio. [ par SteppenWulf ] Bonsoir, J'essaie de créer un player pour écouter ma webradio... Mais je rencontre des problèmes. ( Je suis un Newbie, j'utilise flash depuis ce we


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,262 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales