Problème sur une fonction resize(); [Résolu]

Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
- - Dernière réponse : BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
- 29 avril 2010 à 20:53
Hello,

alors voilà : je rencontre un problème auquel je ne trouve pas d'explication logique, j'ai 2 boutons : btn_rota_gauche et btn_rota_droite. Ces 2 boutons servent à effectuer des rotations (horaires : btn_rota_droite, et anti-horaires : btn_rota_gauche) sur des images dont les tailles varient. Les tailles de mes images sont conditionnées à un format maximum : 750 de largeur par 550 de hauteur.
Suivant la taille de l'image par défaut, lorsque une rotation est effectuée, je redimensionne mon image de manière à ce qu'elle occupe au maximum la zone 750 x 550 pixels.
J'ai donc créé une fonction resize() dans laquelle j'ai défini des conditions de redimensionnement suivant les cas. Le seul cas pour lequel je rencontre des problèmes est celui où la largeur de mes images est inférieure à 403 pixels, de plus ce qui est aléatoire c'est que lors des 2 premiers clics sur le bouton "gauche" ou "droite" le redimensionnement s'effectue correctement, mais lors du 3ème (sur les 2 boutons toujours), mon image se retrouve alors avec un scale de plus de 200% alors qu'à aucun endroit dans ma fonction je ne spécifie un tel redimensionnement.
Bref... je pige pas.

Voici donc mon code si jamais quelqu'un voit où ça coince :
function resize(){
if(monClip._width > 550 && monClip._rotation 0 or monClip._rotation 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 550/monClip._width*100;
}else if(monClip._width 550 && monClip._height 550 && monClip._rotation == 0 or monClip._rotation == 90 or monClip._rotation == -90 or monClip._rotation == 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 100;
}else if(monClip._width < 550 && monClip._width > 403 && monClip._rotation 0 or monClip._rotation 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 550/monClip._width*100;
}else if(monClip._width < 403 && monClip._rotation 0 or monClip._rotation 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 135;
}
}

clipMenu.btn_rota_gauche.onRelease = function(){
monClip._xscale monClip._yscale 100;
resize();
new Tween(monClip, "_rotation", Strong.easeOut, monClip._rotation, monClip._rotation-90, 20);
}

clipMenu.btn_rota_droite.onRelease = function(){
monClip._xscale monClip._yscale 100;
resize();
new Tween(monClip, "_rotation", Strong.easeOut, monClip._rotation, monClip._rotation+90, 20);
}


Merci,

BBFUNK01
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
3
Merci
Hello,

problème résolu, j'ai "isolé" les paramètres de chaque condition dans une fonction, et ces paramètres renvoient alors à une autre fonction, permettant ainsi d'éviter une confusion suivant ces fameux paramètres, verdict : ça marche :
function resize(){
if(monClip._width > 550){
resizeA();
}else if(monClip._width 550 && monClip._height 550){
monClip._xscale monClip._yscale 100;
}else if(monClip._width < 550 && monClip._width > 403){
resizeA();
}else if(monClip._width < 403){
resizeB();
}
}

function resizeA(){
if(monClip._rotation 0 or monClip._rotation 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 550/monClip._width*100;
}else{
monClip._xscale monClip._yscale 100;
}
}

function resizeB(){
if(monClip._rotation 0 or monClip._rotation 180 or monClip._rotation == -180){
monClip._xscale monClip._yscale 135;
}else{
monClip._xscale monClip._yscale 100;
}
}




BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 197 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BBFUNK01
Messages postés
1131
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
23 avril 2019
1
0
Merci
Slt,

je n'ai pas flash sous la main, je regarderai ce soir.

Bàt,
Burnside.

..:: Enjoy living in hell ::..
<img alt="flash " src="http://userbarscity.armatronic.com/userbars/41.png" wi="" align="middle" border="0" height="20" hspace="0" vspace=
Commenter la réponse de cs_Burnside
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello Burnside,

merci car franchement je galère depuis tout à l'heure et je ne vois vraiment pas où ça coince. Je vais préparer un swf et le mettre en ligne avec les infos en dynamique afin que tu voies le problème dans l'animation.

BBFUNK01
Commenter la réponse de BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Re Burnside,

voici le lien pour aperçu du problème :
mon diaporama

Je n'ai pas affiché les valeurs "width", "height", "Rotation", et "Scale" au lancement de l'animation, mais en cliquant sur les boutons "rotations" dans le menu, ces valeurs s'afficheront.
Pour visualiser les images qui posent problème, sélectionne l'album "illustrations" et choisis une image beaucoup plus haute que large, et lors du 3ème clic sur l'un des 2 boutons "rotations" tu verras alors le problème.
Si tu voies où ça coince et bien chapeau parce que je n'ai toujours pas trouvé.

BBFUNK01
Commenter la réponse de BBFUNK01
Messages postés
1131
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
23 avril 2019
1
0
Merci
Slt,

je viens de voir le problème du %.
Il est vrai que c'est bizarre, je regarderai un peu plus tard ce soir.

je vais décompiler ton fichier swf et voir si je remarque qqchose.

Bàt,
Burnside.
Ps: chouette galerie.


..:: Enjoy living in hell ::..
<img alt="flash " src="http://userbarscity.armatronic.com/userbars/41.png" wi="" align="middle" border="0" height="20" hspace="0" vspace=
Commenter la réponse de cs_Burnside
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
ok,

tiens moi au courant si tu vois où ça coince car franchement je ne vois pas pourquoi ça marche sur les autres conditions et pas sur celle ciblant les images inférieures à 403 pixels en largeur.

Merci,

BBFUNK01
Commenter la réponse de BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Re,

si pour t'éviter de décompiler le swf tu souhaites que je t'envoie le fla par e-mail, envoie moi ton adresse e-mail en pv.

BBFUNK01 ;-)
Commenter la réponse de BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello Burnside,

t'as pu jeter un oeil du coup à mon fla ?

BBFUNK01
Commenter la réponse de BBFUNK01