IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Physique appliquée à flash


Sujet :

Flash

  1. #1
    Membre régulier Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Points : 70
    Points
    70
    Par défaut Effet ballon
    Bonjour tout le monde!

    En découvrant zoneflash.net, je me suis attardée sur la physique appliquée à flash et certaines animations de ce site pourraient correspondre à ce que je recherche à faire. Cependant, je me tourne vers vous afin que vous puissiez orienter mon travail.

    En effet, je cherche à réaliser le même effet qu'un ballon qui s'élèverait dans les airs mais qui serait néanmoins retenu par un fil ? Pour aller au bout de cette animation, j'aimerais que ce ballon s'élève à partir d'un instant T puis qu'il se détache du fil qui le retient après quelques secondes.

    Merci d'avance la communauté

  2. #2
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour et meilleurs voeux,

    personnellement je dirais plutôt que c'est flash appliqué à la physique que l'inverse mais surtout, peux tu préciser un peu ta question, quelle version de flash utilises tu et qu'attends tu de nous exactement??

    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Membre régulier Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Points : 70
    Points
    70
    Par défaut
    Coucou et meilleurs voeux également

    J'utilise Flash pro 8. Concernant mon animation j'aimerais recréer l'effet d'un ballon s'élevant dans les airs et retenu par un fil. Un peu comme un pendule mais à l'envers avec un effet d'élévation

    Pour l'instant l'anim qui se rapproche le plus du résultat final que je souhaite est une balle qui rebondit à l'envers ça donne une petite idée mais je pense qu'on peut faire mieux.

    Pouvez vous m'orienter sur la meilleur démarche à suivre ? un tuto serait l'idéal

    Merci d'avance en espèrant avoir été un peu plus claire

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Salut

    S'l y à des personnes qui ont un petit algo pour imiter le vent de façon réaliste , ca serait vraiment cool de partager ...

    J'ai pas réussit à faire mieux que ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://devasco.perso.cegetel.net/flash/ballon.html
    le fichier source s'appel : balle.as

    Angelik si cette source t'interresse quand meme. Il te faudra gérer la longeur de la corde (utilise la trigonometrie)

    PS: cette source est vraiment brouillon!!

  5. #5
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    salut à tous,

    j'aurai pas fait mieux à part peut être le dessin du ballon, mais par contre la ficele fait un peu "rigide" genre élastique qui se tend. Une ficelle en tas par terre qui se déroule progressivement je ne sais pas si c'est réalisable en flash ??
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  6. #6
    Membre régulier Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Points : 70
    Points
    70
    Par défaut
    merki au niveau du ballon c'est vraiment l'effet que je recherchais ! Le fil est effectivement un peu rigide mais en fouillant bien y'a moyen de se détendre

    Merci je post très vite et je regarde la source de plus près dès ce soir !

  7. #7
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    regarde plutot du côté des easing equations c'est super facile a utiliser
    fais une recherche sur google tu trouvera ton bonheur (rob pener's easing equation) tu trouvera même un tuto sur developpez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    Aaaaargh j'ai jeté un coup d'oeil sur le lien du ballon c'est super moyen comme effet

  8. #8
    Membre régulier Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Points : 70
    Points
    70
    Par défaut
    Coucou tout le monde !

    Je relance ce post afin de vous solliciter à nouveau J'aimerais adapter l'effet ballon de CR_Gio (qui me va ma foi en terme de rendu) à mon animation ...

    Dans la précipitation, j'ai tenté une approche (si je puis dire ) avant de devoir m'absenter == mais sans résultat . J'ai consulté l'ami CR_gio en mp à ce propos qui m'a orienté >> Enregistrer la class as dans le même répertoire que mon animation en y ajoutant (dans le swf)
    var myBallon:Ballon=new Ballon(ballon_mc);
    Je coince un peu et doit réaliser cette effet pour mercredi ... Je m'en remet à votre aide ...

    Merci d'avance

  9. #9
    Membre régulier Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Points : 70
    Points
    70
    Par défaut
    En fait quand j'exporte mon anim fla. jai le message d'erreur suivant :

    **Erreur** Séquence = Séquence 1, calque = Calque 1, image = 1 :Ligne 1 : Les classes ne peuvent être définies que dans des scripts de classe ActionScript 2.0 externes.

    ci dessous la classe (ballon.as):

    class balle
    {
    private var ballon_mc:MovieClip;
    private var taux:Number;
    private var vitesse:Number;
    private var pesanteur:Number;
    private var saturation:Number;
    private var t_rebond:Number;
    private var vent:Number;

    public function balle(mc:MovieClip)
    {
    ballon_mc=mc;
    taux=40;
    vitesse=10;
    saturation=Stage.height*0.2;
    t_rebond=0;
    vent=-30;
    }
    public function runing(t:Number)
    {
    if( ballon_mc._y<saturation || t_rebond>0 )
    {
    ballon_mc._y=saturation+30*Math.abs(Math.sin(t_rebond/10))*Math.exp(-t_rebond/taux);
    t_rebond++;
    }
    else
    ballon_mc._y-=vitesse*(1-Math.exp(-t/taux));
    if(random(100)>90)
    vent=2*random(100)-50;
    ballon_mc._x = Math.round (0.97 * ballon_mc._x + 0.03 * (Stage.width/2+vent));
    //ballon_mc._y = Math.sin(Math.acos((Stage.width/2-ballon_mc._x)/Stage.height*0.2));

    _root.file.clear();
    _root.file.lineStyle(1, 0x000000);
    _root.file.moveTo(Stage.width/2,Stage.height-Stage.height*0.05);
    _root.file.lineTo(ballon_mc._x,ballon_mc._y);


    }


    static function main(root:MovieClip):Void
    {
    _root.createTextField("debug",100,500,500,250,60);
    _root.debug.border=true;
    _root.debug.text="debuger ...";

    var t:Number=new Number(0);
    _root.createEmptyMovieClip("file",_root.getNextHighestDepth());

    var mc:MovieClip=root.createEmptyMovieClip("ballon",root.getNextHighestDepth());
    var app:balle=new balle(mc);
    mc.lineStyle(0, 0x000000);
    mc.beginFill(0xFF0000);
    mc.drawCircle=function(x:Number, y:Number, r:Number):Void
    {
    this.moveTo(x+r, y);
    this.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
    this.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
    this.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
    this.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
    this.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
    this.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
    this.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
    this.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
    }
    mc.onEnterFrame = function()
    {
    app.runing(t);
    t++;
    }
    mc.drawCircle(0, 0, Stage.height*0.05);
    mc._y=Stage.height*0.8;
    mc._x=Stage.width/2;
    }
    }

Discussions similaires

  1. Réponses: 14
    Dernier message: 17/01/2009, 22h39
  2. Réponses: 2
    Dernier message: 22/12/2006, 12h46
  3. Réponses: 22
    Dernier message: 12/12/2006, 13h03
  4. Réponses: 5
    Dernier message: 06/03/2006, 17h38
  5. Réponses: 9
    Dernier message: 16/11/2005, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo