begin process at 2012 05 28 00:09:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Zoom progressif suivant 2 scales prédéfinies sur tween rotation


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

Zoom progressif suivant 2 scales prédéfinies sur tween rotation

jeudi 1 avril 2010 à 21:13:20 | Zoom progressif suivant 2 scales prédéfinies sur tween rotation

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.
Mon code fonctionne et les images pivotent correctement.
Sachant que la taille de mes images loadées doit respecter la taille d'un clip "gabarit" (750 de large par 550 de haut), j'ai donc ajouté des paramètres pour redimensionner chaque image suivant la rotation effectuée, le code fonctionne très bien mais le seul petit lézard c'est que le redimensionnement est "radical" et j'aimerais donc améliorer cela en ajoutant une fonction qui permettrait de faire un redimensionnement progressif durant la rotation effectuée (un zoom/dézoom en quelque sorte).

Voici donc mon code sans la fonction "zoom/dézoom progressif" :
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._rotation == 90 or monClip._rotation == 270 or monClip._rotation == -90 or monClip._rotation == -270){
		monClip._xscale = monClip._yscale = 100;
	}else if(monClip._height < 750 && monClip._rotation == 0 or monClip._rotation == 180 or monClip._rotation == -180){
		monClip._xscale = monClip._yscale = 750/monClip._height*100;
	}else if(monClip._height = 750 && monClip._rotation == 90 or monClip._rotation == 270 or monClip._rotation == -90 or monClip._rotation == -270){
		monClip._xscale = monClip._yscale = 100;
	}
}

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


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


et voici ma tentative infructueuse pour ajouter un "zoom/dézoom progressif" :
Code ActionScript :
setInterval(zoomer(), 1000);

setInterval(dezoomer(), 1000);


zoomer = new Object();
zoomer.interval = function(){
monClip._xscale = monClip._yscale += 1;
if(monClip._xscale = monClip._yscale == 100){
clearInterval(zoomer);
	}
}

dezoomer = new Object();
dezoomer.interval = function(){
monClip._xscale = monClip._yscale -= 1;
if(monClip._xscale = monClip._yscale == 550/monClip._width*100){
clearInterval(dezoomer);
	}
}

function resize(){
	if(monClip._width>550 && monClip._rotation == 0 or monClip._rotation == 180 or monClip._rotation == -180){
		setInterval(dezoomer(), 1000);
	}else if(monClip._width = 550 && monClip._rotation == 90 or monClip._rotation == 270 or monClip._rotation == -90 or monClip._rotation == -270){
		setInterval(zoomer(), 1000);
	}else if(monClip._height < 750 && monClip._rotation == 0 or monClip._rotation == 180 or monClip._rotation == -180){
		monClip._xscale = monClip._yscale = 750/monClip._height*100;
	}else if(monClip._height = 750 && monClip._rotation == 90 or monClip._rotation == 270 or monClip._rotation == -90 or monClip._rotation == -270){
		monClip._xscale = monClip._yscale = 100;
	}
}

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


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


Comme vous pouvez vous en douter, le dernier code ne fonctionne donc pas comme prévu :), je continue à chercher une solution en grattant du côté de "setInterval", mais si quelqu'un a une autre piste plus judicieuse à proposer (je pensais à une fonction zoom/dézoom progressif suivant 2 valeurs de scale prédéfinies par exemple), et bien je suis preneur.

Merci,

BBFUNK01
mardi 11 mai 2010 à 00:15:38 | Re : Zoom progressif suivant 2 scales prédéfinies sur tween rotation

GnS


Hello,

Je ne suis pas sûr d'avoir très bien compris ton problème,
mais pour le changement de dimension progressif as-tu essayé avec Tween ?

Par exemple pour un changement progressif de ton xscale en fonction du yscale cela donnerait :

new Tween(eval(tonClip, "_xscale", mx.transitions.easing.None.easeNone, _xscale, _yscale, 5, false);


Gordon and Stan
mardi 11 mai 2010 à 08:53:12 | Re : Zoom progressif suivant 2 scales prédéfinies sur tween rotation

BBFUNK01

Hello,

en fait j'ai résolu le problème depuis déjà quelques semaines (en utilisant toujours une tween pour la rotation et en créant une fonction resize(); pour le redimensionnement).
Merci quand même

A plus,

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


Cette discussion est classée dans : code, rotation, xscale, monclip, if


Répondre à ce message

Sujets en rapport avec ce message

interraction dynamique avec un clip [ par flyingdutch ] Bonjour ! Je suis nouveau sur le site. Je suis en train de concevoir une interface se rapprochant du pianographique.Voila mon problème je balance d'ab collisions bourrines et coordonnées [ par kin4n ] Bonjour, je débute sous flash et j ai bien des misères à comprendre le systeme de parentage et d appel des hierarchies dans le code. Alors voici un co Flash CS3: Puzzle avec if [ par Quarions ] Bonjour, j'ai construit trois puzzles, mais maintenant je dois mettre du code pour que l'animation continue une fois le puzzle terminer, cependant, je Jouer un son a une heure precise [ par hardsnap3 ] Salut à tous ! Bon voici mon "problème" : j'ai créé (en suivant un tuto bien fait (bah oui si j'ia réussi c'est qu'il était bien fait parce que moi et Code FLASH [ par ethanwissing ] Bonjour à tous !Pour un projet perso, j'ai utilisé un code ("bubble") téléchargé sur code_source.J'ai donc adapter le code à mes besoins et tout fonct as3 pb enterFrame [ par inaden ] Bonjour,l'idée est de créer une fonction de transition alpha... truc simple en as2 mais là.Voici deux tentatives (les seuls qui ne me donne pas de mes Changement de touche de direction [ par Kid1er ] Bonjour ^^ J'ai crée un petit jeu, mais je suis bloqué C'est un jeu pour 2 joueurs, mais le problème est que je n'arrive pas à changer les touches dir Code pour rotation et deplacement avec la souris d'un clip [ par benjone ] Bonjour, je sais faire ces deux fonctions en AS3(voir sujet), mais comment faire pour les combiner à un clip et que cela fonctionne bien? je veux dire If child exist: Remove child [ par MisterSnow ] Bonjour, Je suis coincé sur un problème qui est surrement très simple à résoudre. Comme le dis le titre, je cherche la ligne de code qui me permetter


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,187 sec (4)

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