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

Delphi Discussion :

cherche exemple de boules en mouvement


Sujet :

Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 422
    Par défaut cherche exemple de boules en mouvement
    bonjour
    je sais que j'ai pas le niveau mais je cherche
    un exemple en FMX 3D de boules en mouvement (49 pour
    être précis) dans une sphère semi-transparente
    comme on voit au tirage du loto
    j'y arrive avec une mais j'ai du mal avec animation
    peut-on dans la même animation mettre plusieurs critères
    une fois le X le Y la rotation et ensuite gérer la collision avec
    la sphère qui les enveloppe
    merci d'avance pour toute aide

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 285
    Par défaut
    Il te faudrait trouver des tutoriels sur
    TViewport3D pour intégrer la 3D dans une application 2D (la même que celle avec la grille je suppose)

    Ensuite, faut creer les TSphere, chacune avec une texte pour le nombre, genre un TTextureMaterialSource

    Et voir si TFloatAnimation peut animer les TSphere

    Je commencerais par un mouvement plus simple comme la rotation des planètes dans le système solaire


    Regarde ce post de Paul Toth pour maitriser les objets.

    Ensuite tu pourras voir comment produire des rebonds (vitesse, angle) entre les boules et avec la paroi (friction, rotation de la boule), c'est la création d'un moteur physique ... un chantier notable.
    A mon avis, tu finiras par faire un truc bidon pré-calculé pour donner l'idée d'une animation réelle.


    Et fournir ton code serait déjà un commencement.

    Rien que le commencer en 2D de faire rebondir des cercles dans un rectangle, puis d'un un cercle ... un exercice courant, pense à l'économiseur écran "Bulles"

    Regarde ce tutoriel pour la chute d'un boule :
    [TUTO 4/15 ] [TUTO DELPHI] - [TUTORIEL POUR DEBUTANT] [RADSTUDIO - EMBARCADERO] [ANIMATION OBJET 3D]
    Aide via F1 - Utilisez l'I.A. - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité ! Sachez-le : l'IA remplace la très grande majorité des développeurs, pas seulement les ignares ...

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 713
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je n'ai pas d'exemple correspondant à cette demande. Pour simuler un tirage du loto de manière convaincante, je pense qu'il faudra utiliser un moteur de physique (Gorilla3D en intègre un, Castle Game Engine...).

    Pour répondre à la question "peut-on dans la même animation mettre plusieurs critères" oui en partie en modifiant une autre propriété de l'objet dans l'événement OnProgress de l'animation. Cependant, cela implique que le second critère de l'animation aura la même durée.

    Pour jouer plus finement (en fonction des besoins) sur les propriétés rotation, taille, translation... d'un objet 3D, il est possible de passer directement par la matrice correspondante. Malheureusement, TControl3D n'expose pas de propriété publique pour appliquer une matrice. Il est possible de passer par un petit helper :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    type
      TControl3DHelper = class helper for TControl3D
      public
        procedure SetMatrix(const M: TMatrix3D);
      end;
     
    procedure TControl3DHelper.SetMatrix(const M: TMatrix3D);
    begin
      FLocalMatrix := M;
      RecalcAbsolute;       // important : recalcule la matrice absolue (avec les parents)
      RebuildRenderingList; // important : force le viewport à reconstruire sa liste de rendu
      Repaint;
    end;
    Ainsi, il est possible d'appliquer plusieurs transformations à l'objet 3D en une seule fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      // MonObjet est un TControl3D déjà initialisé
      var MScale := TMatrix3D.CreateScaling(Point3D(5, 5, 5));
      var MRotX  := TMatrix3D.CreateRotationX(DegToRad(20));
      var MRotY  := TMatrix3D.CreateRotationY(DegToRad(45));
      var MRotZ  := TMatrix3D.CreateRotationZ(DegToRad(60));
      var MTrans := TMatrix3D.CreateTranslation(Point3D(1, -2, 5));
     
      var MCombined := MScale * MRotX * MRotY * MRotZ * MTrans;
     
      MonObjet.SetMatrix(MCombined);
    L'ordre de la multiplication qui constitue MCombined est important et doit correspondre à l'ordre dans lequel on souhaite appliquer les transformations.
    Mon site - Mes tutoriels - GitHub - Youtube - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 422
    Par défaut
    bonjour
    je vois ou plutôt je pensais que ça serait un peu moins complexe
    je vais regarder les tutos je reviendrai par la suite
    merci encore

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 422
    Par défaut
    Bonsoir
    trop compliquer en 3D
    donc viens de faire un exemple en 2D
    sa permet de chercher 7 boules sur 49
    pour jouer au loto
    vous joint fichier
    je bute dans animation pour pouvoir aléatoirement
    changer la vitesse de la boule
    toute idée est la bien venue
    merci
    tcercle.zip

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 941
    Billets dans le blog
    66
    Par défaut
    Je ne sais plus si j'avais mis de l'animation dans cette source Jeux-de-Loto l'objectif étant, avant tout, la méthode de tirage.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes), D13 (Florence)
    SGBD : Firebird 2.5, 3, 5 et SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 422
    Par défaut
    Bonjour
    viens aller voir tes sources sa ma appris sur la couleur
    gradient sa m'évite de charger un bitmap en mémoire
    merci

Discussions similaires

  1. Exemple de détection de mouvements webcam et reconnaissance d'objets
    Par xor AX AX dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2023, 07h20
  2. [VB6] Lancer un service, par exemple Sql Server
    Par fea dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/10/2002, 14h07
  3. Comment limiter les mouvements du curseur??
    Par scorpiwolf dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2002, 22h09
  4. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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