Rectangle elastic

Résolu
Signaler
Messages postés
22
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 février 2005
-
Messages postés
22
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 février 2005
-
Bonjour

j'essai de realiser un rectangle qui change de taille avec effet elastique. je voudrais que les tailles ( + effets elastique ) soit controler par des boutons ( taille 1 btn1 - taille 2 btn2 ....)

voici les lignes de codes du clip rectangle :

onClipEvent (load) {
this.elasticScale = function(tar, accel, convert) {
xScale = xScale * accel + (tar - this._xscale) * convert;
yScale = yScale * accel + (tar - this._yscale) * convert;
this._xscale += xScale;
this._yscale += yScale;
}
}
onClipEvent(enterFrame){
this.elasticScale(90,0.7,0.7)
}

comment creer des boutons avec les variables differentes ( 80, 0.7, 0.7 ) ou ( 70,0.7, 0.7)
je ne sais pas si j'ai été assez clair

mersi d'avance pour vos réponses

6 réponses

Messages postés
22
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 février 2005

re salut

ton post ma beaucoup aidé .c'est une procédure que je ne connaissais pas trop alors merci merci et encore merci de ta précieuse aide

à charge de revanche

tchao
Messages postés
27
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
16 février 2008

salut
j'ai pas trop compris le probleme...

euh en faite je vient de relire le poste et si c bien ce que je pense.....
il y a plusieur façons une assez simple c que tu declare en variable global t'est trois variable...

onClipEvent (load) {

_root.tar=90; //a l'interieur ou a l'exterieur de la fonction genre 1ere image de la sequence, a toi de voir
_root.accel=0.7; // je te conseil a l'exterieur comme ca si tu cree plusieur clip , les valeur ne s'initialiseront pas a chaque creation....
_root.convert=07;

this.elasticScale = function(tar, accel, convert) {
xScale = xScale * accel + (tar - this._xscale) * convert;
yScale = yScale * accel + (tar - this._yscale) * convert;
this._xscale += xScale;
this._yscale += yScale;
}

}

puis sur la fonction

onClipEvent(enterFrame){
this.elasticScale(_root.tar, _root.accel, _root.convert)
}

puis sur les boutons tar par exemple
//bouton +
onClipEvent (onPress) {
_root.tar +=1;
}
//bouton -
onClipEvent (onPress) {
_root.tar -=1;
}

mais tu peut aussi les declarer local au clip et donc faudrait appelé, depuis les boutons, les variables en metant le <nom du clip>.<variable>

en les declarant en global , si tu as plusieurs clip tu les affecteras tous , ds ce cas faudras cree plusieurs jeux de variable ,un jeux pour chaque clip.

en revanche si tu les declare en local (ds le gestionnaire onload du clip , sans les _root), tu devras te faire chier quand a l'appel des variables pour la modification de celle-ci, savoir laquelle tu veut modifié depuis quel clip, bon j'arrete la car vue que je ne detaille pas ca risque a preter a confusion.

je te l'ai fait en gros mais vue que j'ai pas bien compris j'ai pas detailler , si c pas assez explicite ou que j'ai rien compris au probleme fait le savoir.

bon ben au plaisir...
a+++
Messages postés
22
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 février 2005

Salut fcr_loch

je viens de lire ton message ( déja je te remerci de m' avoir repondu )

en fait le souci est plus simple qu'il n'y parait : je m'explique

j'ai creer un clip rectangle avec la fonction que j'ai indiquée précédemment.
quand je lance l 'appli ca marche, mon rectangle se charge avec l effet élastique

maintenant je voudrais faire des boutons pour controler ( correspondant a mon menu ) la taille du rectangle en concervant l'effet elastique
car dans this.elasticScale(90,0.7,0.7) 90 correspond en fait a la taille du rectangle chargé
je voudrais donc créer des btn en changant ce parametre mais je ne sais pas comment passe t'on d'une commande d'un clip par celle d'un bouton

je peux te donner une parti du fla pour mieux comprendre si tu veux

par avance merci encore.
Messages postés
27
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
16 février 2008

^lu defunes
je suis désolé mais j'ai toujours un peut de mal a cerner le probleme (j'espere ne pas etre le seul dans ce cas, car j'aurais l'air vraiment d'un idiot)

je n'arrive pas a savoir si tu as genre un menu avec plusieur element et un clip rectangle et que donc sur les click des element du menu ca modifie la taille du rect elastic (celon l'element) genre petite anime de deco

ou alors

que tu as plusieur element de menu (correspondant chaqu'un a un clip elestic)
et que donc quand tu click dessus la taille differe par rapport a l'element clické

il y as enormement de maniere de gere tous c cas...
pour le premier cas, tu peut declaré une variable local

onClipEvent (load) {
var taille=90;

.....
que tu met ds l'appel de la fonction this.elasticScale(this.taille,0.7,0.7)

puis tu donne un nom a ton clip via les proprietés (click dessus panneau propriete) car je pense que si c'est bien ca que tu fait, t'a du l'integré a ta sequence directement sur un calque (tu le charge pas via actionscript....)

et donc pour les element de menu genre style comme ca
onClipEvent (onPress) {
_<nom du clip>.taille = <valeur>;
}

ou si tu utilise le meme gestionnaire d'evenement pour les elements du menu, tu peut stocker les valeur ds un tableau de taille correspondant au nbre d'element puis pour chaque element du menu tu les nomme "element1", "element2"
tu recup le numero.

onClipEvent (onPress) {
var i =this._name.substr(8,1);

<nom du clip>.taille = <nom tableau>[i];
}
PS: les <nom du clip>. doit contenir le chemin aussi, car si il ne ce trouve pas sur la meme sequence ou au meme niveau du clip ca ne fonctioneras pas.

j'espere avoir repondu a t'es attente, si c pas ca ou si tu veut plus d'expliquation j'essairais de t'etre utile ... tu pourais m'envoyer ta source (une parti pour que j'essaie de comprendre un peut plus la chose).
bye et bonne journée....
Messages postés
22
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 février 2005

^fcr_loch

En fait tu as compris le probleme :un menu avec plusieur element et un clip rectangle et que donc sur les click des element du menu ca modifie la taille du rect elastic (celon l'element) genre petite anime de deco.

faut il faire une nouvelle fonction sur le meme clip du style :

onClipEvent (load) {
_root.targX = 100;
}
onClipEvent (enterFrame) {
cX = this._xscale;
difX = cX - _root.targX;
setProperty(this, _xscale, (cX - difX / 4));
}
onClipEvent (load) {
_root.targU = 70;
}
onClipEvent (enterFrame) {
cX = this._yscale;
difY = cX - _root.targU;
setProperty(this, _yscale, (cX - difY / 4));
}

puis sur les bouton faire varier x et u

( j'ai essayer ca marche mais c'est complexe par rapport au probleme ) puisque je fais varier une nouvelle fois la taille de mon rectangle entre this.elasticScale("90",0.7,0.7)
puis dons ma fonction précédente)

c'est quand même bizar de devoir isoler la variable taile pour pouvoir la faire varier

si tu as plus simple ?
Messages postés
27
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
16 février 2008

re salut donc j'ai fait une source en esperant que ca peut t'aidé parce que là tu ma reelement embrouiller avec ton dernier poste
attention le truc que j'ai fait c qu''il cree automatiquement le menu celon un tableau
mais tu peut tres bien effacé tout ca et faire un clip event(onpress) pour chaque element.

http://www.flashkod.com/code.aspx?ID=29159

voila, tient moi au jus et a plus tard
tchao