Comment animer une tentacule

thekinder Messages postés 6 Date d'inscription lundi 19 août 2002 Statut Membre Dernière intervention 15 novembre 2004 - 15 nov. 2004 à 01:41
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010 - 15 nov. 2004 à 14:01
Salut, tout le monde,
Je voudrai faire arriver sur mon intercafe une tentacule avec un mouvement type serpent. Puis cette derniere s'arrête.
Je pensais faire une ligne comme guide.
Sur photoshop j'ai commencé à faire mon interface.
Pour avoir une idée de ce que je veux que ca donne voici l'interface en question : http://thekinder.free.fr/new/
Au fait je bosse sur Flash MX 2004

1) Je ne sais pas trop comment créer ma tentacule, dessin direct dans flash ou à partir d'un image.
2)comment faire pour que ma tentacule se déforme en fonction de la ligne guide

J'espere être assez clair.
merci d'avance.

-----------------------------------------------------
http://www.rivierastuntriders.com

2 réponses

blackwizzard Messages postés 1258 Date d'inscription mercredi 21 mars 2001 Statut Membre Dernière intervention 21 juin 2009 2
15 nov. 2004 à 03:42
suivant une ligne guide, ce n'est pas possible de maniere simple.
je vois 2 solutions applicable:
tu calcule une serie d'equations qui te permettrons de tracer des courbes en dessins dynamique via du code, fonction curveTo().
Evidement, c'est pas ce qu'il y a de plus simple, sauf si tu maitrise bien les maths, dans ce cas tu pourra via cos et sin en particulier faire onduler ta tentacule suivant une frequence choisie, un angle determiné, etc...
sinon (je t'imagine tout pale en lisant ce message) tu anime a la main, tout simplement...

--------------------------------
Site perso orienté prog: www.blackwizzard.net
dedié aux codeurs flash/php surtout.

site perso orienté delire: www.life-exposed.net
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
15 nov. 2004 à 14:01
Ah, ah ;) dans le style de mannytan (www.uncontrol.com | mannytan@uncontrol.com):
onClipEvent (load) {
x_scale_offset = 150;
a_x = 200;
a_y = 200;
b_x = 200;
b_y = 190;
c_x = 202;
c_y = 190;
ba_percentage = .00001;
// .0005;
be_percentage = 1;
counter = 1;
x_offset_array = new Array();
for (x=1; x<=15; x++) {
_parent.attachMovie("tentacle_link", "tentacle_"+x, x);
_parent["tentacle_"+x]._x = random(10)+95;
_parent["tentacle_"+x]._y = random(10)+195;
random_value = random(100)+10;
_parent["tentacle_"+x]._xscale = random(80)+10;
_parent["tentacle_"+x]._yscale = random(80)+10;
_parent["tentacle_"+x]._alpha = random(30)+1;
total_randomness = random(160);
x_offset_array[x] = total_randomness;
}
loop_counter = 1;
loop_max = random(50);
curl_factor = .99;
}
onClipEvent (enterFrame) {
// ==========================================
// CREATES FLAPPING MOTION FOR EACH WING
// ==========================================
// ------------------------------------------------------------------
for (x=1; x<=15; x++) {

// ==========================================
// COLOR OBJECT OF SPOT 01
// ==========================================

// initializes color object
wing_color_spot_01 = new Color(_parent["tentacle_"+x]);

// populates color object
new_color_spot_01 = {
rb:random(255) + 1,
gb:random(255) + 1,
bb:random(255) + 1
};

// sets color of object
wing_color_spot_01.setTransform(new_color_spot_01);// _parent["tentacle_"+x].circle.circle._rotation random(10);

_parent["tentacle_"+x]._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02.tentacle_03._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02.tentacle_03.tentacle_04._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02.tentacle_03.tentacle_04.tentacle_05._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02.tentacle_03.tentacle_04.tentacle_05.tentacle_06._rotation = b_x*curl_factor+x_offset_array[x];
_parent["tentacle_"+x].tentacle_02.tentacle_03.tentacle_04.tentacle_05.tentacle_06.tentacle_07._rotation = b_x*curl_factor+x_offset_array[x];
}
// ------------------------------------------------------------------
// =====================
// CALCULATES POSITIONING// d_x ((a_x-b_x)*ba_percentage)+b_x;
d_y = ((a_y-b_y)*ba_percentage)+b_y;
e_x = b_x-(b_x-c_x)-(b_x-d_x);
e_y = b_y-(b_y-c_y)-(b_y-d_y);
f_x = e_x-((b_x-e_x)*be_percentage);
f_y = e_y-((b_y-e_y)*be_percentage);
// =====================
// SWITCHES VARIABLES// b_x e_x;
b_y = e_y;
c_x = f_x;
c_y = f_y;
counter++;
}
c'est pas tout à fait ce que tu recherches mais c'est dans l'idée de BlackWizzard

Alise
from RunIsland
0
Rejoignez-nous