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 3 Discussion :

type erreur sur un movie clip


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut type erreur sur un movie clip
    bonjour à vous,

    J'ai un type erreur lors de la compilation de mon swf et je suis a deux doigt de trouver la solution mais la il me faut un coup de pouce je pense.

    Voila j'ai 3 clip sur ma scene nommé chacun ville1 ville2 et ville3. Avec un roll over dans ma bibliothèque que j'ai exporter pour le actionscript.

    En gros mon code affiche les points selon un xml et va chercher les infos concernant ces point dans le xml et affiche le roll over dynamiquement.

    Jusqu'ici tout marche.

    Je veux maintenant faire un tracé qui relierais tous les points entre eux. j'ai presque réussi a trouvé une solution car le tracé se fait mais j'ai un type erreur comme ca :

    TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
    at carte_circuit_essai_fla::MainTimeline/getCircuit()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

    et le roll over sur le dernier point ne se fait pas.

    Voici mon code :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    //initialisation des variables
    ville1.visible=false;
    ville2.visible=false;
    ville3.visible=false;
     
    //Connecteur xml
    var xmlOffre:URLRequest = new URLRequest("xml-circuit.xml");
    var xmlOffreLoader:URLLoader = new URLLoader(xmlOffre);
    xmlOffreLoader.addEventListener("complete", getCircuit);
     
    // FONCTION XML
    function getCircuit(event:Event):void{
     
      XML.ignoreWhitespace = true;
     
      var circuitXML:XML = new XML(event.target.data);
     
      	// variable qui va recuperer tout le noeud
    	var circuitList:XMLList = circuitXML.produit;
      	var totalCircuit:int = circuitList.length();
     
    			//BOUCLE XML
      			for (var i:Number = 0; i < totalCircuit; i++) {
     
    				var marker:XML = circuitList[i];
     
    				//VARIABLES XML
    					var var_ville:String = marker.ville;
    					var var_hotel:String = marker.hotel;
    					var var_etape:String = marker.etape;
    					var var_duree_etape:String = marker.duree;
     
    				//Condition affichage
    				if (var_ville !='') {
    					var offreMc:MovieClip = this[var_ville];
    					offreMc.visible = true;
    					}
     
    				//dessin tracé
    				var offreMc2:MovieClip=this[circuitList[i+1].ville];
    				var xdep:Number=offreMc.x;
    				var ydep:Number=offreMc.y;
    				var xarr:Number=offreMc2.x;
    				var yarr:Number=offreMc2.y;
    				var mc:MovieClip = new MovieClip();
    				mc.graphics.beginFill(0x995060);
    				mc.graphics.lineStyle(4, 0x995060, 100)
    				mc.graphics.moveTo(xdep, ydep); 
    				mc.graphics.lineTo(xarr, yarr);
    				addChild(mc);
     
    				// bouton cliquable
    				offreMc.buttonMode = true;
     
    				//stockage des variables pour les récupérer aprés
    				offreMc.var_ville = var_ville;
    				offreMc.var_hotel = var_hotel;
    				offreMc.var_etape = var_etape;
    				offreMc.var_duree_etape = var_duree_etape;
     
    				// CREATION D'ECOUTEUR
    				offreMc.addEventListener(MouseEvent.MOUSE_OVER, over);
    				offreMc.addEventListener(MouseEvent.MOUSE_OUT, out);
     
    			}// fin for
     
    } // fin boucle xml
     
    // creation onglet roll over
    var onglet_rollover:rollover = new rollover();
     
    function over(event:MouseEvent){
    	addChild(onglet_rollover);
    	onglet_rollover.x = mouseX;
        onglet_rollover.y = mouseY;
     
    	//On recupere les variables de la boucle XML
    	var vville:String = event.currentTarget.var_ville as String;
    	var vhotel:String = event.currentTarget.var_hotel as String;
    	var vetape:String = event.currentTarget.var_etape as String;
    	var vduree:String = event.currentTarget.var_duree_etape as String;
     
    	//on affecte les variables au champs dynamiques
    	onglet_rollover.ville_txt.text=vville;
    	onglet_rollover.hotel_txt.text=vhotel;
    	onglet_rollover.numero_etape.text=vetape;
    	onglet_rollover.duree_etape.text=vduree;
     
    }
    function out(event:MouseEvent){
    	removeChild(onglet_rollover);
    }
    J'ai fais plusieurs tests et je pense que 'erreur viens d'ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //dessin tracé
    var offreMc2=this[circuitList[i+1].ville];
    car offreMc et offreMc2 doivent s'entrechoquer a un moment non ?

    Avez vous une solution à mon problème ?

    Merci d'avance en tout cas

    Clem

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    le plus simple c'est de faire un trace de ta/tes valeurs qui peuvent poser un probleme, tu verras tout de suite celle qui n'est pas défini ou qui contient une mauvaise valeur

    et evite les choses dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var offreMc:MovieClip = this[var_ville];
    plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var offreMc:MovieClip = this[var_ville] as MovieClip;

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/07/2007, 20h15
  2. Erreur sur inclusion types.h avec cygwin
    Par Bayard dans le forum Réseau
    Réponses: 12
    Dernier message: 12/11/2006, 16h48
  3. erreur sur le type de champ
    Par samsso2006 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 02/11/2006, 10h41
  4. Erreur sur récupération type d'input
    Par michaelbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/08/2006, 12h12
  5. Erreur "type incompatible" sur une fonction
    Par Ricardo_Tubbs dans le forum ASP
    Réponses: 1
    Dernier message: 19/07/2006, 11h59

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