begin process at 2012 05 27 18:53:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Problème sur une fonction resize();


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème sur une fonction resize();

mardi 27 avril 2010 à 15:01:57 | Problème sur une fonction resize();

BBFUNK01

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 :
Code ActionScript :
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
mardi 27 avril 2010 à 16:24:26 | Re : Problème sur une fonction resize();

Burnside

Membre Club

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=
mardi 27 avril 2010 à 17:42:09 | Re : Problème sur une fonction resize();

BBFUNK01

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
mardi 27 avril 2010 à 18:14:09 | Re : Problème sur une fonction resize();

BBFUNK01

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
mardi 27 avril 2010 à 19:10:48 | Re : Problème sur une fonction resize();

Burnside

Membre Club
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=
mardi 27 avril 2010 à 19:13:38 | Re : Problème sur une fonction resize();

BBFUNK01

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
mardi 27 avril 2010 à 19:23:49 | Re : Problème sur une fonction resize();

BBFUNK01

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 ;-)
mercredi 28 avril 2010 à 09:47:53 | Re : Problème sur une fonction resize();

BBFUNK01

Hello Burnside,

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

BBFUNK01
jeudi 29 avril 2010 à 20:53:23 | Re : Problème sur une fonction resize();

BBFUNK01

Réponse acceptée !
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 :
Code ActionScript :
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... ;-) ;


Cette discussion est classée dans : rotation, resize, btn, monclip, rota


Répondre à ce message

Sujets en rapport avec ce message

Clic/Doubleclic AS3 [ par natouvan ] Bonjour !Débutante en as3, ma question relève probablement du Ba-Ba... mais je sèche...Principe de l'animation : J'ai créé un clip posé sur ma scène q Zoom progressif suivant 2 scales prédéfinies sur tween rotation [ par BBFUNK01 ] Bonsoir à toutes et à tous, j'aimerais pour mon diaporama ajouter une fonction qui permette de faire des rotations de +/-90° sur les images affichées setInterval() pour diaporama qui ne lance l'action qu'une seule fois :( [ par BBFUNK01 ] Bonsoir tout le monde, je suis en train d'arriver au bout de la réalisation de mon diaporama perso, et il me reste un point à terminer : le mode "Sli affichage de la page d'accueil par défaut [ par LEZARDGRAPHIK ] bonjour à tous, je suis entrain de faire un site comme celui ci : http://fr.packshot-creator.com/ btn_0.addEventListener(MouseEvent.CLICK, clique_ Problème btn qui pointe vers une scène [ par myriamvaray ] Bonjour, après avoir écumer les nombreux sujets à ce propos et testé les multiples solutions proposées en réponses, mon problème subsiste: voila j'ai défilement de texte [ par Makdoom ] Bonjour, J'ai récupéré une source sur le net mais qui ne fonctionne pas exactement comme je voudrais. Voici le code en question : [code=as] monTexte= flash as2 slide diagonale (bas gauche-haut droite) avec btn qui diminuent et interaction curseur [ par dospy ] Bonjour à tous, Je suis débutante en flash, enfin surtout en as. Malgré tous les tutoriaux, je suis bloquée sur une animation. J'aimerai avoir un déf Faire tourner un clip sur lui même grâce la molette de la souris [ par patrickart ] bonjour, Comme indiquer dans le titre j'ai un objet circulaire et j'aimerai le faire tourner sur lui même grâce a la molette de la souris en as2. la r afficher une image liée a un son aléatoire. [ par djo22 ] Bonjour, je n'y connais pas grand chose en as3 sur flash et je suis entrain de créer un petit logiciel de logopédie pour l'école. je dois créer une bouton fondu [ par frielo44 ] Bonjour à tous. J'ai le code ci-dessous qui me fait apparaître et disparaître un bouton lorsque l'on va ou pas dessus avec la souris (onRollOver et


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales