Tween, height et width

geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009 - 1 sept. 2008 à 11:15
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009 - 2 sept. 2008 à 10:59
Bonjour,

J'ai des fonctions simples qui agissent sur des clips lorsqu'elles sont appelées depuis un bouton :

function h(clip_selectionne)
{
clip1._height = 60
clip2._height = 60
clip3._height = 60
clip4._height = 60

this[clip_selectionne]._height = 100;
}

function wshowroom(clip_selectionne)
{
clip1._width = 60
clip2._width = 60
clip3._width = 60
clip4._width = 60

this[clip_selectionne]._width = 100;
}

Ma question est : comment mettre en place dans ces mêmes fonctions une action de tween pour que le width et le height change de façon progressive et élastique. J'ai déjà utilisé les tween, et je connais les syntaxes et les indentifiants, c'est juste que là, je suis un peu perdu dans la logique de programmation, et je ne sais pas comment l'inclure dans mes fonctions.

Dans mon cas,

import mx.transitions.Tween;
import mx.transitions.easing.*;
var heightClip:Tween = new Tween(Clip, "_width", Elastic.easeOut, 100, 60, 5, true);

et

import mx.transitions.Tween;
import mx.transitions.easing.*;
var heightClip:Tween = new Tween(Clip, "_height", Elastic.easeOut, 100, 60, 5, true);


Merci d'avance pour votre aide.

11 réponses

geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
1 sept. 2008 à 11:16
Y-a-t-il un moyen de mettre le code de façon plus clair dans les textes du forum?
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
1 sept. 2008 à 18:20
Salut,

je comprend pas ton probleme, vu que tu comprend les tween...
dans tes fonction tu utilise des tweens à la place de définir directement le _height ou le _width.

pour que l'animation parte de la valeur 'actuelle' du clip et pas de 100, utilise une syntaxe comme ceci :

var heightClip:Tween = new Tween(Clip, "_height", Elastic.easeOut, Clip._height, 60, 5, true);

@+
0
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 09:22
Salut Girou, et merci pour le conseil.

En fait, c'est aussi le comment inclure cette tween dans ma fonction :

function hshowroom(clip_selectionne)

{

showroom1._height = 60

showroom2._height = 60

showroom3._height = 60

showroom4._height = 60

this[clip_selectionne]._height = 100;

}

qui me pose problème... Je n'arrive pas à faire en sorte que la tween marche.

Merci d'avance.
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
2 sept. 2008 à 09:37
ca doit donner quelque chose dans ce genre :

function hshowroom(clip_selectionne) {
var t1:Tween= new Tween(showroom1, "_height", Elastic.easeOut, showroom1._height, 60, 5, true);
var t2:Tween= new Tween(showroom2, "_height", Elastic.easeOut, showroom2._height, 60, 5, true);
var t3:Tween= new Tween(showroom3, "_height", Elastic.easeOut, showroom3._height, 60, 5, true);
var t4:Tween= new Tween(showroom4, "_height", Elastic.easeOut, showroom4._height, 60, 5, true);
var t5:Tween = new Tween(clip_selectionne "_height", Elastic.easeOut, clip_selectionne._height, 100, 5, true);
}

ne pas oublier de passer un movieclip en parametre à la fonction évidemment.

@+
0

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

Posez votre question
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 09:44
Ah oui d'accord...! Dans mes essais, je n'avais pas la bonne logique. Merci!
0
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 09:59
En fait non, y a un soucis, c'est que mon clip selectionné passe aussi à 60, au lieu de rester à 100, et quand on en sélectionne un autre, la fonction ne marche pas, tout reste à 60. Je suis perdu!
0
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 10:06
En fait, je ne dois pas mettre les bons paramètres. Quelle référence faut-il que je donne à "this"?
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
2 sept. 2008 à 10:08
La bonne question, c'est qu'est ce que tu veux faire exactement ???

-> exprime le en 'français' et pas en code ca pourrait simplifier la recharche !!!

@+
0
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 10:17
OK.

J'ai cing movieclip, l'un (clip_selectionne) doit prendre la taille de 100*100, les autres doivent prendre la taille de 60*60. Quand on en sélectionne un autre, il doit donc passer de 60*60 à 100*100, et l'ancien clip sélectionné doit passer de 100*100 à 60*60. Les autres restent à 60*60.

Désolé, je débute en actionscript, et je m'emmêle souvent les pinceaux.
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
2 sept. 2008 à 10:33
function hshowroom(clip_selectionne) {
  for (var i:Number=1;i<6;i++){
    var myTween:Tween
    if(clip_selectionne == this["showroom"+i]){
      myTween=new Tween(this["showroom"+i], "_height", Elastic.easeOut, this["showroom"+i]._height, 100, 5, true);
    }else{
      myTween=new Tween(this["showroom"+i], "_height", Elastic.easeOut, this["showroom"+i]._height, 60, 5, true);
    }
  }
}

ensuite le code pour tes clips

showroom1.onRelease= function(){
    hshowroom(showroom1)
}
showroom2.onRelease= function(){

    hshowroom(showroom2)

}

le script est a placer sur un calque (a part) et showroom1,
showroom2,... doivent être sur la scene et non dans un autre movie
sinon il faudra changer le ciblage

@+
0
geraldinechx Messages postés 49 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 14 mars 2009
2 sept. 2008 à 10:59
Merci Girou pour ton aide. En fait, c'est toujours pareil : tous les clips deviennent "petits" (60) même le clip sélectionné..
0
Rejoignez-nous