Problème sur une fonction resize();

Résolu
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 27 avril 2010 à 15:01
BBFUNK01 Messages postés 1310 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

8 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
29 avril 2010 à 20:53
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... ;-) ;
3
cs_Burnside Messages postés 1132 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 6 mars 2020
27 avril 2010 à 16:24
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=
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
27 avril 2010 à 17:42
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
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
27 avril 2010 à 18:14
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Burnside Messages postés 1132 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 6 mars 2020
27 avril 2010 à 19:10
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=
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
27 avril 2010 à 19:13
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
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
27 avril 2010 à 19:23
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 ;-)
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
28 avril 2010 à 09:47
Hello Burnside,

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

BBFUNK01
0
Rejoignez-nous