AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX : Karte umdrehen als Animation

Ein Thema von MyRealName · begonnen am 8. Sep 2020 · letzter Beitrag vom 26. Sep 2020
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#1

FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 10:02
Ich will für meine Frau eine Helfer App programmieren (sie lernt gerade deutsch) und wollte ihr die Sprachkarten programmieren für Ihr Handy (Android). Ich habe schon einiges gemacht als App, aber noch nichts wirklich grafisches, eher so GUI mit den Controls, die es da so gibt.
Die Karte (im einfachsten Fall) kann ein 2-seitiges Panel sein, welches sich dann um seine Achse umdreht. Auf der einen Seite steht das deutsche Wort, auf der anderen das spanische.

Gibt es da die mögliochkeit, das mit Animationen in FMX zu machen ? Oder muss ich dazu mir das mit der 3D-Programmierung ansehen ?

Danke schonmal
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 10:09
Also ist die Karte selbst ein Panel ?
Ich würde da eher ein Rectangle für nehmen, Panels wie unter VCL nutze ich gar nicht mehr, TLayout und TRectangle sind der Ersatz für mich dafür.

Egal, alle Controls haben ein .RotationAngle Property, mit dem man die Elemente rotieren kann.

Das könnte man reltiv simpel animieren, mit TFloatAnimation.

Hilft Dir das weiter ?
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 10:17
Genau sowas suchte ich Danke

Edit: Doch nicht. Das dreht sich da aber nur im 2D, wenn ich RotationAngle und RotationCenter ändere. Was ich halt versuchen will, ist dass es sich vertikal von links nach rechts dreht und dann die Rückseite sichtbar ist.

Geändert von MyRealName ( 8. Sep 2020 um 10:26 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 10:55
Genau sowas suchte ich Danke

Edit: Doch nicht. Das dreht sich da aber nur im 2D, wenn ich RotationAngle und RotationCenter ändere. Was ich halt versuchen will, ist dass es sich vertikal von links nach rechts dreht und dann die Rückseite sichtbar ist.
Also ein PageFlip.
Das wäre sicher mit FMX 3D, statt FMX HD möglich.
Das ist dann aber eine Textur auf einem 3D Objekt, und wird entsprechend komplexer.

Es gibt da aber Einiges
https://stackoverflow.com/questions/...emonkey-mobile

https://edn.embarcadero.com/article/41874

https://zarko-gajic.iz.hr/memory-3d-...e-delphi-game/

auch einen GameEngine für Card-Games, finde ich gerade nicht.
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 11:33
Ich habe es gerade mit einem Viewport und einem TCube probiert, kann man halt die Tiefe auf 0,1 stellen, dann ist das wie eine Karte. Heut abend schau ich mal, wie ich das über eine Animation drehen kann und ob man das dynamisch ein- und ausblenden kann (den Viewport), so dass das eigentlich eine 2D-Anwendung ist aber das mit den Karten so gelöst wird

Danke erstmal.
  Mit Zitat antworten Zitat
ZYLAGON

Registriert seit: 11. Nov 2015
50 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: FMX : Karte umdrehen als Animation

  Alt 8. Sep 2020, 20:30
Wenn es 3D sein soll, könntest Du in Deinem Beispiel mit dem Viewport den Cube in einen TDummy stecken, die x-Position des Cubes innerhalb des Dummys verschieben und eine FloatAnimation dem Dummy zuordnen.
Wird dann der Dummy um die Y-Achse rotiert, verhält sich der Cube wie eine Seite, die von einer Seite zur anderen wandert.

VG ZYL
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: FMX : Karte umdrehen als Animation

  Alt 9. Sep 2020, 09:12
würde es die Drehung des Cubes nicht auch tun ? Warum der Dummy ? (Sorry, wenn es eine dumme Frage ist, aber ich habe noch nicht mit FMX 3D Sachen gearbeitet, nur normal OpenGL und das ist auch schon etwas her )
  Mit Zitat antworten Zitat
ZYLAGON

Registriert seit: 11. Nov 2015
50 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: FMX : Karte umdrehen als Animation

  Alt 9. Sep 2020, 18:37
Eigentlich sollte es genügen, den Cube zu drehen.
Aber da ich das mit dem RotationCenter nicht hinbekomme, behelfe ich mir mit einem unsichtbaren TDummy-Container.
Da ich den Cube in dem Dummy verschiebe, rotiert der Cube nicht um seinen Mittelpunkt sondern um den Mittelpunkt des Dummys.
Habe gestern mal getestet mit einer FloatAnimation von 0 bis 180° und das sah schon recht gut aus.

VG ZYL
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: FMX : Karte umdrehen als Animation

  Alt 25. Sep 2020, 08:56
Also, ich habe jetzt einen komischen Effekt..
In Win32 FMX sieht alles Ok aus (konnte das animierte Gif nicht anhängen musste es als Link einfügen

Aber in Android bewegt sich nicht nur garnichts, sondern es wird beim reinkommen schon nur die Rückseite angezeigt, die card flip wird aber nicht aufgerufen.
Ich habe die Form mal angehängt (ohne Projekt wegen Android einstellungen etc.), die kann man ja einfach in ein leeres Projekt nehmen.

Sollte es unter Android nicht genauso gehen ?

Edit: Ausserdem... ich habe ja in dem Image1 zwei Bitmaps drin. Wie kann ich definieren, welches angezeigt wird ? Ohne eines zu zerstören. Weise ich IMage1.Bitmap eins zu aus der MultResBitmap liste, dann wird das erste überschrieben
Angehängte Dateien
Dateityp: zip Cardflip_unit.zip (637,3 KB, 4x aufgerufen)

Geändert von MyRealName (25. Sep 2020 um 09:28 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#10

AW: FMX : Karte umdrehen als Animation

  Alt 25. Sep 2020, 17:01
Eigentlich sollte es gleich sein, das stimmt.
Aber oft verhält es sich dann doch Anders als gedacht.

Ich habe mal ein bischen damit rumgespielt, und dein Projekt leider etwas verunstaltet.
So geht es aber bei mir.
  1. Du hattest TImage als Container für die Bilder und als Anzeige benutzt.
    Ich habe jetzt das TImage nur als Container für die Bilder benutzt.
  2. Das ViewPort3D war on-the-fly erzeugt, ich habe hier das einmalig auf die Form gelegt und benutzt
  3. Die Objekte für das ViewPort3D erzeuge ich jetzt auch nur einmalig
  4. Nach dem Flip hattest Du das TImage überschrieben, was natürlich etwas überschrieben hat.
    (Deshalb TImage jetzt nur als Container, und ViewPort nur als Anzeige)
  5. Natürlich sollte man das on-the-fly machen können, aber ich habe ja nach der Ursache gesucht, und deshalb umgebaut.
  6. Das Rectangle im Vieport3D war nicht zentriert, wurde deshalb womöglich nicht angezeigt.
    Habe Folgendes eingebaut:
    R.Position.X := VP.Width / 2; //ADD:
    R.Position.Y := VP.Height / 2; //ADD:
  7. Ursächlich für die fehlende Animation war wohl das R.AnimateFloatWait(, die habe ich durch R.AnimateFloat( ersetzt.
    In FMX sollte möglichst Alles nebenläufig sein, deshalb hat das nicht funktioniert.
  8. Die Elemente habe ich mit Align und TLayout reingesetzt, damit immer der optimale Screenbereich angezeigt wird.
    Bei Position mit X/Y kann es durch Scaling und andere Effekte in die Hose gehen, ich nutze immer nur Align.Client, Top, Bottom, etc.
  9. Ich habe dir noch den Flip vor und zurück reingebaut, zum Test.

Sonst habe ich nicht weiter reingeschaut, ich denke das sollte man vielleicht noch etwas umbauen, um es wieder on-the-fly zu bekommen.
Habe aber ekeine Zeit mehr dafür.

(*) Änderungen mit //OFF: oder //ADD: markiert (ich hoffe Alle)
Angehängte Dateien
Dateityp: zip T368_CarFlip.zip (209,5 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz