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

Flash Discussion :

_yscale refusé en AS3 avec MovieClip


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut _yscale refusé en AS3 avec MovieClip
    Bonjour je code en AS3, quand j'attribut un _yscale ou un y à mc.conteneur, Flash me retourne :
    TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
    at Sansnom_fla::MainTimeline/frame1()
    voici le 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
    var diaporama= new MovieClip();
    this.addChild(diaporama);
     
    var photoi = new MovieClip();
    var mc = diaporama.addChild(photoi);
     
    var conteneur = new Loader();
    conteneur.contentLoaderInfo.addEventListener(Event.COMPLETE, LcontenuLoaded);
    var URLconteneurLoader =new URLRequest("photo.jpg");
    conteneur.load(URLconteneurLoader);
    
    function LcontenuLoaded(evt:Event):void 
    {
    mc.addChild(conteneur);
    }
     
    
    mc.conteneur._yscale =pourcenthauteur;
    Je fait la conversion à partir de ce code qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Creation du diaporama
    this.createEmptyMovieClip("diaporama", 0);// pour les images
    // chargement des images
    var mc = diaporama.createEmptyMovieClip(photoi);
     
    mc.createEmptyMovieClip("conteneur", 1);
    mc.conteneur.loadMovie("photo.jpg");
     
    mc.conteneur._yscale = pourcenthauteur;

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Bonjour,

    en AS3 la propriété est nommée scaleY.

    je pense qu'il faudrait plutôt faire ça dans la fonction LcontenuLoaded en utilisant evt.target.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    Oui tu as raison, dans la fonction, vu qu'il ne peux pas le modifier tant qu'il n'est ps completement chargé.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    ça marche pas j'ai le même message d'erreur. il faut pas faire un transtypage d'un Loader sur un MovieClip ?

    Pour info le code d'origine est :
    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
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
     
    // Version panorama horizontal. 
     // Affichage de x images + textes.
     // Redimentionnement des images.
     // Supperposition d'une image sur une autre.
     // Agrandissement de l'image et arret du diaporama au passage de la souris.
     
    // definition des variables fixes
    largeurDefinie = 135; // taille definie en largeur
    hauteurFixe = 101;   // taille fixe en hauteur
    espace = 25;   // espace entre les photos
    nbr = 12;     // nombre de photos
    page = 0;     // zone de repere pour le sens du defilement
    taillescene = 630;   // taille de la scene 630x200
    marge = 30;    // eventuelles marges de chaque cote de la scene
    leslargeurs = 0;  // Largeur totale
    vitesseDef = 10;  // vitesse de defilement
    calcul = -(vitesseDef);
    // emplacement et nom des images a charger
    Chemin_photo = "photos/thumb_"
    Chemin_symbol = "photos/"
    // Chargement en table 
    var valabaURL1 = "enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html;enchainement-photo-essai.html";
     valabaURL = valabaURL1.split(";"); // liens URL
    var listeSymbol = "symbol-new;symbol-valentin;symbol-soldes;smily;symbol-new;symbol-valentin;symbol-soldes;smily;symbol-new;symbol-valentin;symbol-soldes;smily";
     affSymbol = listeSymbol.split(";");
    var testdes = "Lampe,Lampe enfants,Decoration,Vase,Blanche Perle,Decoration,Decoration ** florale,Orchidees,Sac,Sac,Sac,Chaise";
        desi = testdes.split(","); 
    var lesLargeurs = "175;155;185;135;135;135;135;135;135;135;135;135";
     largeur = lesLargeurs.split(";");
    var lesHauteurs = "131;116;138;101;101;101;101;101;101;101;101;101";
     hauteur = lesHauteurs.split(";");
    // Definition des tables utilisees
    photos = new Array(); // pour les photos
    useSymbol = new Array(); // pour les symbols
    memoDesi = new Array (); // pour les textes
    memoDesix = new Array (); // avec sa position
    memoscale_x = new Array (); // proportion de la photo
    // Creation du diaporama
    this.createEmptyMovieClip("diaporama", 0);// pour les images
    diaporama._y = 20;
    diaporama._x = 10;
    // chargement des donnees
    //=================
    for(var i = 0; i < nbr; i++) {
     
    // calcul de redimention de l'image
    pourcenthauteur = hauteurFixe/parseInt(hauteur[i]) * 100;
    largeur[i] = parseInt(largeur[i]) * pourcenthauteur / 100;
    // chargement des images
    var mc = diaporama.createEmptyMovieClip("photo"+i, i);
    mc._x = espace + leslargeurs;
    leslargeurs += largeur[i] + espace;
    mc.createEmptyMovieClip("conteneur", 1);
    mc.conteneur.loadMovie(Chemin_photo + i + ".jpg");
    mc.conteneur._yscale = pourcenthauteur;
    mc.conteneur._xscale = pourcenthauteur;
    // memorisation en table
    photos[i] = mc.conteneur; 
    memoscale_x[i] = mc.conteneur._xscale; 
    // chargement des symbols
    mc.createEmptyMovieClip("symbol", 3); 
    mc.symbol._alpha = 0;
    mc.symbol.loadMovie(Chemin_symbol  + affSymbol[i] + ".png");
    // memorisation en table
    useSymbol[i] = mc.symbol; 
    mc.nombre = i;
    // chargement des textes
    tailleText = desi[i];
    tayetext = tailleText.length * 16; // On determine la taille du texte
    mc.createTextField("txtCommentaire",  100, 0, hauteurFixe, tayetext, 80);
    mc.txtCommentaire.text = (desi[i]);
    mep_bloc = new TextFormat();
     mep_bloc.color = 0x234567;
     mep_bloc.font ="Arial";
     mep_bloc.size = 15;
     mep_bloc.align = "left";
     mep_bloc.bold=true;
     mep_bloc.embedFonts = true;
     mc.txtCommentaire.selectable = false;
     mc.txtCommentaire.setTextFormat(mep_bloc);
     
    // memorisation en table
    memoDesi[i] = mc.txtCommentaire; 
    memoDesix[i] = mc.txtCommentaire_x;
    // Action
    //=====
    // Click de la souris, l'image est agrandie, on la remet normale avant le getURL
    mc.onPress = function (){
     commeavant(this.nombre);
     getURL( valabaURL[this.nombre], "_blank" ); }
    // Passage de la souris => agrandissement de l'image et du texte + apparition du symbol + arret du diaporama
    mc.onRollOver = function() {
     agrandissement (this.nombre);
     delete onEnterFrame;
    }
    // Apres le passage de la souris => reaffichage des images non agrandies + remise en marche du defilement 
    mc.onRollOut = function () {
     onEnterFrame = faittourner;
     commeavant(this.nombre);
    }
    }
    // Action du defilememt
    onEnterFrame = function() {
     faittourner ();
    }
    // si on bouge la souris
    onMouseMove = function() { 
     if (_xmouse < (marge * 5)) {page = 0;  calcul = -(vitesseDef);}
     if (_xmouse > (taillescene -(marge * 5))) {page = 1;  calcul = vitesseDef;}
    }
    // Les fonctions
    commeavant = function (lenombre) {
     
     // on remet comme avant, texte, photo et symbol
     mc.txtCommentaire = memoDesi[lenombre];
     mc.txtCommentaire.text = desi[lenombre];
     mep_bloc.size = 15;
     mc.txtCommentaire.setTextFormat(mep_bloc);
     mc.txtCommentaire._x = memoDesix[lenombre];
     mc.txtCommentaire._y = hauteurFixe;
     
     photos[lenombre]._x = posLar;
     photos[lenombre]._y = posHaut;
     photos[lenombre]._xscale = parseInt(memoscale_x[lenombre]);
     photos[lenombre]._yscale = parseInt(memoscale_x[lenombre]);
     
     useSymbol[lenombre]._alpha = 0;
     useSymbol[lenombre]._x = posLar2;
     useSymbol[lenombre]._y = posHaut2;
    }
    agrandissement = function (lenombre) {
     // on met a blanc le texte en petit et on memorise sa position
     mc.txtCommentaire = memoDesi[lenombre];
     mc.txtCommentaire.text = "";
     mc.txtCommentaire._x = memoDesix[lenombre];
     mc.txtCommentaire._y = hauteurFixe;
     // on le recharge pour l'agrandir
     mep_bloc.size = 21;
     mc.txtCommentaire.text = desi[lenombre];
     mc.txtCommentaire.selectable = false;
     mc.txtCommentaire._x = memoDesix[lenombre]-10;
     mc.txtCommentaire._y = hauteurFixe+10;
     mc.txtCommentaire.setTextFormat(mep_bloc);
     
     // agrandissement de la photo
     posLar = photos[lenombre]._x;
     posHaut = photos[lenombre]._y; 
     photos[lenombre]._x = posLar - 10;
     photos[lenombre]._y = posHaut - 10;
     photos[lenombre]._xscale = memoscale_x[lenombre] * 1.2; 
     photos[lenombre]._yscale = memoscale_x[lenombre] * 1.2;
     
     // apparition du symbol
     posLar2 = useSymbol[lenombre]._x;
     posHaut2 = useSymbol[lenombre]._y; 
     useSymbol[lenombre]._alpha = 100;
     useSymbol[lenombre]._x = posLar2 - 20;
     useSymbol[lenombre]._y = posHaut2 - 20;
    }
    faittourner = function () {
      if (diaporama._x < (-(leslargeurs-(taillescene -(marge * 2))))) {page = 1;}
     if (page == 1) { calcul = vitesseDef; }
     else {
      if (diaporama._x < (-(leslargeurs-(taillescene -(marge * 2))))) {page = 1;}//on definit le sens
      else {page = 0;}
     }
     if (diaporama._x > marge) { page = 0;  calcul = -(vitesseDef);  }//on definit le sens
     diaporama._x  += calcul;
     diaporama2._x  += calcul;
    }

  5. #5
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Citation Envoyé par omdafer Voir le message
    il faut pas faire un transtypage d'un Loader sur un MovieClip ?
    si, il faut écrire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (evt.target as MovieClip).scaleY = ...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    On est obligé d'attribuer un scale dans la fonction LcontenuLoaded alors ?
    Citation Envoyé par beekeep Voir le message
    si, il faut écrire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (evt.target as MovieClip).scaleY = ...

Discussions similaires

  1. lier fichier As3 avec application composant mxml
    Par maxime612001 dans le forum Flex
    Réponses: 3
    Dernier message: 01/03/2011, 09h21
  2. erreur : Permission refusée sous IE avec iframe
    Par Fenix51 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/07/2009, 17h21
  3. defilement infini avec movieclip
    Par fabigol dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 06/06/2009, 15h54
  4. probleme addEventListener avec Movieclip
    Par @NW@R dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 14/04/2008, 12h54
  5. [JDBC] Acces refusé a mysql avec applet
    Par romuluslepunk dans le forum Applets
    Réponses: 30
    Dernier message: 19/04/2006, 17h49

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