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 :

[FLASH MX] Effet de zoom full dynamique


Sujet :

Flash

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut [FLASH MX] Effet de zoom full dynamique
    Bonjour à tous,

    J'essaye de faire un zoom dynamique d'un objet en faisant un loadVars sur un fichier texte.

    Je donne à cet objet via des commandes set property un emplacement initial (_x et_y) ainsi que une taille (_xscale et_yscale)

    Je lui donne également un emplacement et une taille finale ainsi qu'une vitesse.

    Voilà ce que ça donne en code. (ici l'exemple pour une taille)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this._xscale += _root.Zvit_taille_carre_x;
    	if (this._xscale>= _root.Ztaille_carre_fin_x) {
    		this._xscale = _root.Ztaille_carre_fin_x;
    La première ligne du code sert à déterminer la vitesse.
    La seconde sert à faire grandir l'objet jusqu'a une taille finale
    la troisièmes sert à que ça reste à cette taille une fois la condition de la ligne 2 atteinte.

    Le code du zoom fonctionne. Je l'ai déja testé mais sans les variables d'emplacement initial.

    Le plus simple est encore de downloader les fichier, je les ai mis sur serveur.

    http://www.assurancedavid.be/test_flash/test.fla
    http://www.assurancedavid.be/test_flash/var_test.txt

    Merci à vous de m'aider à comprendre.

    Greg

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    c'est que tes variables ne sont pas encore chargées!
    Rajoutes un stop() au début de ta 1re image
    Puis à la fin de ton onLoad (avant l'accolade), fais un gotoAndStop(2);


    Ps: Tu devrais passer à la syntaxe pointée (Mx/Mx2004)
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    Merci pour ton aide, mais ça ne marche toujours pas.
    Voici mon code corriger comme tu me l'as conseillé:

    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
    stop();
     
    conteneur = new LoadVars();
    conteneur.load("var_test.txt");
     
    conteneur.onLoad = function(ok)  {
     
    	if (ok) {
    		setProperty(carre, _x, this.coor_carre_x);
    		setProperty(carre, _y, this.coor_carre_y);
    		setProperty(carre, _xscale, this.taille_carre_ini_x);
    		setProperty(carre, _yscale, this.taille_carre_ini_y);
    		Zcoor_carre_fin_x = conteneur.coor_carre_fin_x;
    		Zcoor_carre_fin_y = conteneur.coor_carre_fin_y;
    		Zvit_coor_carre_x = conteneur.vit_coor_carre_x;
    		Zvit_coor_carre_y = conteneur.vit_coor_carre_y;
    		Ztaille_carre_fin_x = conteneur.taille_carre_fin_x;
    		Ztaille_carre_fin_y = conteneur.taille_carre_fin_y;
    		Zvit_taille_carre_x = conteneur.vit_taille_carre_x;
    		Zvit_taille_carre_y = conteneur.vit_taille_carre_y;
    	}
    	gotoAndStop(2);
    };
    En ce qui concerne le gotoAndStop, je l'ai placé avant, après, entre les accolades, mais malgré tout, ça ne va pas

    PS: Je suis loin d'être au point en actionscript, C'est quoi la syntaxe pointée

  4. #4
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    La synatxe pointée est la syntaxe "officielle" de MX/MX2004.
    Toutes fonctions, propriétés appelées doiventt être associées à un objet par un "point"
    Typiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setProperty(carre, _x, this.coor_carre_x);
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    carre._x = this.coor_carre_x;
    De plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClipEvent (enterFrame) {...}
    placé sur l'objet carre devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    carre.onEnterFrame = funtion() {...}
    placé sur l'objet conteneur de carre

    Mais bon je te signale ça juste comme ça. Tu n'es pas obligé d'y passer de suite mais je pense qu'à terme la syntaxe "Flash 5" sera abandonnée et plus supportée!

    Pour revenir à ton probleme :
    Crees deux calques :
    actions
    interface

    Dans le 1ere image de actions, tu mets :
    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
    stop();
     
    var Zcoor_carre_ini_x, Zcoor_carre_ini_y, Zcoor_carre_fin_x, Zcoor_carre_fin_y, Zvit_coor_carre_x, Zvit_coor_carre_y;
    var Ztaille_carre_ini_x, Ztaille_carre_ini_y, Ztaille_carre_fin_x, Ztaille_carre_fin_y, Zvit_taille_carre_x, Zvit_taille_carre_y;
     
    var conteneur = new LoadVars();
    conteneur.load("var_test.txt");
    conteneur.onLoad = function(ok) {
    	if (ok) {		
    		Zcoor_carre_ini_x = conteneur.coor_carre_x;
    		Zcoor_carre_ini_y = conteneur.coor_carre_y;
     
    		Zcoor_carre_fin_x = conteneur.coor_carre_fin_x;
    		Zcoor_carre_fin_y = conteneur.coor_carre_fin_y;
     
    		Zvit_coor_carre_x = conteneur.vit_coor_carre_x/2;
    		Zvit_coor_carre_y = conteneur.vit_coor_carre_y/2;
     
    		Ztaille_carre_ini_x = conteneur.taille_carre_ini_x;
    		Ztaille_carre_ini_y = conteneur.taille_carre_ini_y;
     
    		Ztaille_carre_fin_x = conteneur.taille_carre_fin_x;
    		Ztaille_carre_fin_y = conteneur.taille_carre_fin_y;
     
    		Zvit_taille_carre_x = conteneur.vit_taille_carre_x/2;
    		Zvit_taille_carre_y = conteneur.vit_taille_carre_y/2;
     
    		_root.gotoAndStop(2);
    	}
    };
    (ps: Je n'ai jamais codé avec mx, aussi je ne pense pas que l'on peut typer les variables. Je ne l'ai pas fait, ici. Si l'on peut, c'est mieux ex : var Zcoor_carre_ini_x:Number

    Dans la 2e image d'actions :
    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
    carre._x = Zcoor_carre_ini_x;
    carre._y = Zcoor_carre_ini_y;
    carre._xscale = Ztaille_carre_ini_x;
    carre._yscale = Ztaille_carre_ini_y;
     
    carre.onEnterFrame = function() {
    	this._xscale += Zvit_taille_carre_x;
    	if (this._xscale>= Ztaille_carre_fin_x) {
    		this._xscale = _root.Ztaille_carre_fin_x;
    	}
    	this._yscale += Zvit_taille_carre_y;
    	if (this._yscale >= Ztaille_carre_fin_y) {
    		this._yscale = Ztaille_carre_fin_y;
    	}
    	this._x += Zvit_coor_carre_x;
    	if (this._x >= Zcoor_carre_fin_x) {
    		this._x = Zcoor_carre_fin_x;
    	}
    	this._y += Zvit_coor_carre_y;
    	if (this._y >= Zcoor_carre_fin_y) {
    		this._y = Zcoor_carre_fin_y;
    	}
    }

    Dans interface :
    tu mets dans la 2e image ton cclip avec comme nom d'instance carre
    Ca devrait marcher
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  5. #5
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    Tu as essayé ce code chez toi sur mon fichier ?

  6. #6
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Citation Envoyé par yoda_style
    Tu as essayé ce code chez toi sur mon fichier ?
    Et toi tu l'as essayé chez toi , ca ne fonctionne pas ?

  7. #7
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    oui, j'ai essayé, et le code ne va pas tout à fait car il passe de l'état initial à l'état final directement.
    Il passe de par exemple de 20% à 250% en une fraction de seconde. Le but serait de le faire passer par 21%, 22%, 23%, ... jusque 250%. Qu'il y ai une progression.

    Désolé si mon intervention précédente était brève mais le message venait d'être posté et je pensait reprendre FreeGreg directement pour résoudre ce problème.

    pardon, j'le f'rai pu Je voulais pas qu'il résolve le problème à ma place, mais discuter et profiter de son expérience pour me bonifier

  8. #8
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut

    C'est vrai que j'ai oublié dire que j'avais reduit par 2 les vitesses de ton fichier var_test.txt, c'était trop rapide!
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  9. #9
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 68
    Points : 44
    Points
    44
    Par défaut
    ok, merci beaucoup Freegreg,

    ça marche

    Comme quoi il faut faire la différence entre vitesse et précipitation

    encore une fois merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Flou radial - Effet de zoom
    Par cyber_N dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 07/10/2008, 18h20
  2. [FLASH MX2004] Pb d'affichage texte dynamique
    Par mohican13 dans le forum Flash
    Réponses: 6
    Dernier message: 01/02/2005, 09h55
  3. [FLASH MX2004] Effet d'apparition d'un objet
    Par ajor dans le forum Flash
    Réponses: 3
    Dernier message: 18/01/2005, 15h17
  4. [Flash MX] Actualisation scroll sur texte dynamique
    Par Gothico dans le forum Flash
    Réponses: 2
    Dernier message: 23/09/2004, 14h42
  5. Réponses: 4
    Dernier message: 07/05/2004, 21h15

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