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

C++Builder Discussion :

Animations FireMonkey : problème(s) avec PathAnimation


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Animations FireMonkey : problème(s) avec PathAnimation
    Bonjour,

    Je travaille sur une application FireMonkey avec C++Builder 10.1 Berlin.

    Je voudrais qu'un Rectangle (figurant si on veut un bonhomme) se déplace avec un PathAnimation selon un chemin constitué de 3 segments (horizontal, incliné vers le bas, horizontal, "M0,0 L200,0 L400,50 L600,50" par exemple). Je voudrais de plus que ce rectangle s'incline durant l'animation selon la pente du segment et pour ce faire je passe la propriété Rotate du PathAnimation à True.

    Le problème : quand l'animation démarre le Rectangle (le bonhomme) pivote immédiatement à -90° (ensuite il suit le chemin en s'inclinant selon la pente, OK). Pourquoi ? Y a-t-il un moyen d'éviter ça ?

    Question subsidiaire : à l'animation, le chemin est lissé. Il ne s'agit pas de 3 segments mais d'une courbe interpolée à partir de ceux-ci. Comment éviter ce lissage ?

    (Je pourrais envisager une alternative au PathAnimation avec une série de FloatAnimation sur les Position->X, Position->Y et RotationAngle du Rectangle mais ça risque de devenir une usine à gaz.)

    Merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 273
    Points : 628
    Points
    628
    Par défaut
    A partir du moment ou la propriété Rotate est à true il est normale que le "personnage" se mette dans le sens de la marche.
    Il faut donc la passer à false et calculer vous même l'orientation à appliquer au personnage en fonction de sa position sur la courbe - petit exercice mathématique mais qui n'est pas si évident en fonction de ce que vous voulez obtenir....

    Au passage, je travaille en ce moment sur Unity, en C#, sur un projet d'appli beaucoup trop lourd et complexe à gérer pour FMX.
    Je peux vous dire que bien que FMX soit encore très rudimentaire en 3D, il est remarquablement bien foutu comparativement.
    Dommage qu'Embarcadero n'investisse pas dessus plus que cela.... espérons que cela va venir, car le potentiel est très réel en infographie, aussi bien en C++ que sous Delphi.

    Yves

  3. #3
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Mai 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Mai 2018
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Donc si je veux que le bonhomme (2D) fasse ce que j'attends et reste debout, il faut qu'au départ il soit couché sur le ventre et tête en avant... OK, le PathAnimation ne doit pas être fait pour ça.
    Je m'en tire comme vous le suggérez avec un FloatAnimation sur X et un peu de code pour les Y et RotationAngle. Ça résout aussi le problème du lissage que je ne voulais pas, et l'usine à gaz reste finalement modeste.
    Je débute avec FireMonkey, parfois déroutant. Je bricole avec des animations 2D basiques, ça change de la VCL.
    Merci pour votre réponse, bon courage pour votre projet.
    Cordialement.

Discussions similaires

  1. Problème Locate avec espaces
    Par Clezio dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/03/2004, 19h06
  2. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  3. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

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