Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MOUVEMENT D'ONDULATION - EFFET DE NAGE


Information sur la source

Catégorie :Effets d'images Classé sous : ondulation, 3D, poisson, nage, effet Niveau : Débutant Date de création : 11/02/2008 Date de mise à jour : 01/08/2008 01:36:08 Vu / téléchargé: 13 026 / 1 482

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Cette petite source simule le mouvement de nage d'un poisson !!!
On dessine un poisson dans un plan puis on fait varier la profondeur (axe z) de chaque points suivant une loi sinusoïdale.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

11 février 2008 11:24:52 :
mauvais zip
01 août 2008 01:36:08 :
Simplification du code

Commentaires et avis

signaler à un administrateur
Commentaire de pegase31 le 11/02/2008 18:19:42 administrateur CS

Hou-là là ... bon, Alors tu viens d'arriver dans le monde de Flash et tu ne connais pas la déclaration des variables, les boucles, les tableaux, les traitements de masse de données dynamiques et les fonctions enterframe ?

Si c'est le cas, je ne dirais rien, sinon ....

Peg'

signaler à un administrateur
Commentaire de gremlins7 le 12/02/2008 08:09:53

Hou-là là... Incroyable un langage sans déclaration de variables !!!???? Je sais pas si t'as bien lu (si c'est pas le cas je ne dirais rien) mais c'est niveau débutant !!!
Si t'as d'autres remarques extrêmement constructives du même genre...évite de les poster. Par contre si tu as des propositions concrètes n'hésite pas.

signaler à un administrateur
Commentaire de pegase31 le 12/02/2008 08:24:03 administrateur CS

le niveau "débutant" n'excuse pas toutes ces erreurs de code d'amateur à peine éclairé !
Ne pas savoir que : "var Focal:Number; Focal=5000;" est plus simplement écrit "var Focal:Number =5000;" c'est pas débutant, ça fait partie du tutoriel as2 !
Ensuite 633 lignes de déclaration de variables (espaces compris), ça fait beaucoup tu ne trouves pas ?
Faire un tableau contenant des objets avec chacun 3 variables n'a pas du te traverser l'esprit ... c'est pour ça que je te disais que tu ne devais pas savoir faire de tableau !

Pour finir, on n'est plus en Flash 5 et le "gotoAndPlay(2)" pour faire boucler un code c'est fini ça ... il yu a des fonction adaptées telles que les setInterval() ou les onEnterframe() ... mais tu ne dois pas connaitre non plus.

Ma première remarque te donnait tout les éléments pour refaire ton code de façon "débutante" réellement !

Si tu viens de te mettre à Flash et que c'est ton premier code, n'hésite pas à le dire, mais j'ai bien vérifié avant de mettre mon premier post.

Après si tu n'es pas capable d'accepter les remarques, ne poste pas tes sources !

Peg'

signaler à un administrateur
Commentaire de gremlins7 le 12/02/2008 08:51:11

Je pense que tu est passé à coté de l'essentiel du code parce que tu avais envie de critiquer avant toutes choses. A savoir comment on reproduit un effet de vague, après je laisse le soin a des "experts" comme toi de voir si le code est bien écrit ou pas. (Après tout ça sert a ça les pisseurs de code). Moi c'est les algos qui m'interresse.

Pour ton info, c'est pas ma première source (je t'invite a aller voir), et arrette de prendre les gens pour des andouilles. Critiquer ca ne veut pas dire rabaisser les gens comme tu le laissait sous entendre dans ton premier poste. Je crois que tu est de ceux qui aiment critiquer pour le plaisir d'allumer les gens. Si tu est si bon que ca tu qu'as poster une correction complete : comme ca moi j'ai l'idee et toi tu pisses du code.

Je vais reprendre points par points :
1) var Focal:Number; Focal=5000;" est plus simplement écrit "var Focal:Number =5000;
écrire en deux lignes n'est pas choquant, apres j'appelle le constructeur de Number quand j'ai envie. C'est une critique pour du beurre.

2)Faire un tableau contenant des objets avec chacun 3 variables n'a pas du te traverser l'esprit.
Quand tu as autant de points a affecter, tableau ou pas il faut quand meme que tu ecrive les affectations. Comme les données ne sont pas generées par un modeleur ou autre, je vois pas comment on peut automatiser un process que ne peut s'automatiser.
Si tu veux, j'ai poster dans une autre source une classe matrice pour gerer des tableaux, recupere la.

3)Pour finir, on n'est plus en Flash 5 et le "gotoAndPlay(2)" pour faire boucler un code c'est fini ça ...
Effectivement, je te concède ce point, je ferais une modif dès que j'ai le temps

Voila des remarques qui vont completement aider la communauté merci a Pegase31 pour ses avis d'expert eclairés.

signaler à un administrateur
Commentaire de pegase31 le 12/02/2008 09:01:04 administrateur CS

tu crées une "classe matrix" et tu nous chies ce genre de merde de code ?

Non, franchement, là tu te fout réellement de nous .. moi je t'invites à revoir entièrement le concept de ce forum.
Ta source n'a rien de réutilisable.

Heureusement qu'il n'y a pas 5000 points, j'imagine pas ton code.

Allez, t'es de mauvaise foie et tu n'acceptes aucune critique. Pour ma part je préfère ne même pas noter cette parodie de source... je ne répondrai plus à tes agressions.

Peg'

signaler à un administrateur
Commentaire de shubenka le 12/02/2008 09:37:06

J'ai beau moi aussi m'intéresser que aux algorithmes je m'efforce de rendre mon code modulaire.

z1=amp*Math.sin(2*3.14*speed*x1+phi)+amp;
...
z38=amp*Math.sin(2*3.14*speed*x38+phi)+amp;
z39=amp*Math.sin(2*3.14*speed*x39+phi)+amp;

c'est mieux ainsi :

for(i=1;i<40;i++)
this["z"+1]=amp*Math.sin(2*3.14*speed*this["x"+38]+phi)+amp;

Je ne dirais rien d'autre pour ne pas "paraitre" méchant.

signaler à un administrateur
Commentaire de gremlins7 le 12/02/2008 10:17:35

Je souhaite neanmoins cloturer ce debat sterile en expliquant la chose suivante : en realité j'ai du affecter les coordonnées de chaques segments un par un. Le probleme c'est que lorsque ces coordonnées ne sont pas generées automatiquement on est obligé de tout se taper a la main et je rejoint totalement Pegase31 qui dit :

"Heureusement qu'il n'y a pas 5000 points".

A LA BASE, J'AI POSTER CE CODE POUR DISCUTER DE CE PROBLEME !!!.

En clair on est obligé d'ecrire 600 lignes d'affectations (tableau ou pas tableau !!!). Dès lors il y a une solution : utiliser un generateur de coordonnées puis les stoquer dans un tableau. Le problème : trouver un generateur de coordonnées.

C'est une des conditions pour que le code soit completement reutilisable.

Je tiens a remercier SHUBENKA, je vais modifier le code comme il le propose :
for(i=1;i<40;i++)
this["z"+1]=amp*Math.sin(2*3.14*speed*this["x"+38]+phi)+amp;

Effectivement, en tant que debutant,je ne savais pas que l'on pouvait ecrire this["z"+1], encore merci pour cette info.

Pour terminer, je souhaite dire a Pegase31 que au contraire, j'ai bien noté ses critiques et que j'aprecie la critique. Enfin, je signal que je suis un pisseur de code comme les autres. Le code que j'ai posté est une IDEE, un concept sur le mouvement de nage d'un poisson. Ce n'est pas un code optimisé.

signaler à un administrateur
Commentaire de villego le 18/02/2008 11:37:21 10/10

Excellent !!!
Bravo.

signaler à un administrateur
Commentaire de raznow le 09/04/2008 23:54:14 7/10

salut,
pour ce qui est du code d'ondulation je te dit bravo !

pour le reste je te propose quelques modif pou optimider ton code :

/************************* image 1 : 26 lignes au lieu de 463 **************************/

//liste des points du poisson
modele = Array({x:4, y:63, z:0}, {x:12, y:71, z:0}, {x:4, y:67, z:0}, {x:7, y:71, z:0}, {x:33, y:82, z:0}, {x:54, y:87, z:0}, {x:57, y:15, z:0}, {x:34, y:27, z:0}, {x:16, y:45, z:0}, {x:81, y:14, z:0}, {x:81, y:90, z:0}, {x:100, y:15, z:0}, {x:105, y:88, z:0}, {x:124, y:21, z:0}, {x:125, y:84, z:0}, {x:145, y:28, z:0}, {x:145, y:79, z:0}, {x:160, y:36, z:0}, {x:160, y:73, z:0}, {x:170, y:41, z:0}, {x:171, y:70, z:0}, {x:180, y:44, z:0}, {x:180, y:68, z:0}, {x:188, y:44, z:0}, {x:188, y:69, z:0}, {x:76, y:5, z:0}, {x:108, y:5, z:0}, {x:180, y:24, z:0}, {x:181, y:36, z:0}, {x:72, y:101, z:0}, {x:87, y:108, z:0}, {x:167, y:93, z:0}, {x:179, y:88, z:0}, {x:176, y:75, z:0}, {x:213, y:35, z:0}, {x:242, y:32, z:0}, {x:233, y:59, z:0}, {x:239, y:83, z:0}, {x:231, y:84, z:0});

//init des variables pour le calcul
for (p=1; p<=modele.length; p++) {
this["x_"+p] = modele[p-1].x;
this["y_"+p] = modele[p-1].y;
}

/************************* image 3 : 13 lignes au lieu de 125 **************************/

//calcul du mouvement ondulatoire
if (phi<2*Math.PI) {
phi = phi+phi_inc;
} else {
phi = phi_inc;
}
for (p=1; p<=modele.length; p++) {
modele[p-1].z = amp*Math.sin(2*3.14*speed*modele[p-1].x+phi)+amp;
//calcul des coordonnees
this["x_"+p] = modele[p-1].x*Focal/(modele[p-1].z+Focal)+modele[p-1].x+XCamera/2;
this["y_"+p] = modele[p-1].y*Focal/(modele[p-1].z+Focal)+modele[p-1].y+YCamera/2;
}
gotoAndPlay(2);

signaler à un administrateur
Commentaire de raznow le 09/04/2008 23:58:38

PS : c'est le meme principe qie propose "shubenka" plus haut mais avec en plus la mise en Array de tout tes poins :)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Effet Ondulation [ par nicox3333 ] Bonjour, voila je cherche a refaire effet vague qui se trouve sur ce site: http://reveil.chambonnaire.free.fr/index.htmlimpossible de trouver un tuto< effet 3D > un clip qui tourne sur lui-même [ par inconnue ] Salut, j'aimerai connaître l'action script pour faire tourner un clip sur lui-même à 360°.1 - sur son axe vertical (&gt;1°clip) 2 - sur son axe ho Rotation effet 3D [ par kaloa ] Je ne sais pas vraiment si c'est le bon thème pour ma question mais c'est du moins celui qui s'en rapproche.En fait je dois réaliser une animation ave Effet 3d sur l'apparition d'une page/feuille [ par piorock ] Bonjour à tous, j'aimerai savoir comment il est possible de faire un effet 3d sur l'apparition d'une page sous flash. J'ai essayé de trouver une rép Révolution de la terre effet 3D [ par ecilala ] Bonjour,J"ai réalisé une animation où on a l'impression que la terre tourne sur elle même graçe à un système de masque et en fesant défiler un planisp Créer un cube 3D sur un seul axe avec image sur une façade [ par naylouvar ] bonjour à tous;je pose cette question pour que vous me guider SVP au bon chemin :-) j'ai un cube qui tourne sur un axe (XY,Z=0) et je veux changer l'i Scrollbarre avec effet de tween (ou friction) [ par drazika ] Salut, Je cherche un tutoriel où je pourrais faire une scroll barre avec un effet de tween, c'est à dire, que dés que je lâche la barre, elle continu Enfin de la vrai 3d sous flash [ par ttttttlo ] Flash cs3 / papervision / box2davec le dernier player 10 ca marche plutot bien mon siteplus d'info sur <a target="_blank" effet plantes qui poussent [ par za3boul ] slt ! ca fait 3 jours que j'essaye de réaliser l'effet de plantes qui poussent (voila l'exemple :http://www.2m.tv/) ,j'ai essayé en manipulant les mas Effet bulle dans un verre [ par yucki ] Bonjour,Je recherche une effet pour faire apparaitre des bulles dans un verre de champagne.Si quelqu'un pouvait m'orienter. MerciYucki


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.