begin process at 2008 08 28 17:27:28
1 233 273 membres
370 nouveaux aujourd'hui
14 291 membres club

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é: 9 917 / 1 105

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

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.
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

11 février 2008 11:24:52 :
mauvais zip
01 août 2008 01:36:08 :
Simplification du code
  • signaler à un administrateur
    Commentaire de pegase31 le 11/02/2008 18:19:42

    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

    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

    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

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS