Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Oberflächen gestalten / Animationen (Java) (https://www.delphipraxis.net/187965-oberflaechen-gestalten-animationen-java.html)

TaubenUlli 19. Jan 2016 21:48


Oberflächen gestalten / Animationen (Java)
 
Eine eher allgemeine Frage zum Programmieren:

Was genau muss man lernen um sowas (Link - Youtube) hinzubekommen?
Klar, bestimmt java -womit ich kein Problem hätte-, aber damit alleine kriegt man doch nicht solche Animationen und so hin oder und wenn doch, wie nennt man sowas, wonach müsste ich suchen?

Meine Programme und Spiele die ich bisher geschrieben habe sind halt alle von der Oberfläche her ziemlich kahl und gefallen mir überhaupt nicht mehr, deshalb will ich lernen wie man solche duften Oberflächen und Animationen erstellt. Dafür -weil ich glaube, dass es in java einfacher ist- würde ich halt gerne in nächster Zeit anfangen Java zu lernen, und wenn ich wüsste ob, wie oder wie schwer so etwas umzusetzen wäre, wüsste ich gleich ob es sich lohnen würde damit anzufangen oder es zu schwer ist und ich es gleich bleiben lassen soll.

Sir Rufo 19. Jan 2016 22:00

AW: Oberflächen gestalten / Animationen (Java)
 
Die Sprache ist zunächst völlig egal.

Du musst durch das große Problem auf die vielen kleinen Probleme schauen und die dann Stück für Stück lösen. Oft stellt man fest, dass es nur wenige kleine Probleme gibt, die aber im Zusammenspiel alles größer und komplizierter aussehen lassen.

Bei dem Beispiel kommt eine Sache sehr häufig vor:

Eine Grafik wird in einer Zeitspanne t von der Position x1,y1 zu Position x2,y2 bewegt und um den Faktor z gezoomt und dann ausgeblendet.

Wenn du das gelöst hast, dann zähl mal durch, wieviel von den Effekten du damit schon erschlagen würdest. :wink:

TaubenUlli 19. Jan 2016 22:38

AW: Oberflächen gestalten / Animationen (Java)
 
Ja so hab ich es vor einiger Zeit auch mal in 'nem Programm welches ich in .net geschrieben habe gemacht.
Für Animationen habe ich die Bilder bewegt, vergrößert usw. wie du es auch schon geschrieben hast, Problem war dann nur:

1. die Transparenz von Bildern wurde nicht richtig ausgegeben
2. wenn sich Bilder die ich eingefügt habe überlappt haben gabs eben auch keine transparenz und unschöne Effekte
3. schlechte Performance bei zu vielen Bildern oder wenn sich zu viele bewegen sollten

Solche Uhren, welche ablaufen oder Erfolgsbalken welche Effekte oder Verläufe enthalten oder allgemein Effekte über Bildern die ich schon auf panels und pictureboxen gezeichnet lassen hatte, schienen damit irgendwie unmöglich.

Schriftarten sind auch so ein Ding: Wie bekommt man denn solche schönen farbigen Zahlen hin? Ich hatte es einmal gelößt indem ich alle Zahlen (0-9) als Bild abgespeichert habe und dann zeichnen ließ. Ist das in solchen Spielen auch so gemacht oder die Farben und Rahmen der Zahlen mit dem programm selbst gezeichnet / animiert?

Sir Rufo 19. Jan 2016 22:47

AW: Oberflächen gestalten / Animationen (Java)
 
Du darfst dafür natürlich keine Controls verwenden, sondern alles selber direkt zeichnen lassen.
(Es gibt Frameworks für 2D/3D Spiele, die das alles etwas handlicher gestalten)

Damit erledigst du die Punkte 1.-3.

Zitat:

Zitat von TaubenUlli (Beitrag 1327545)
Solche Uhren, welche ablaufen oder Erfolgsbalken welche Effekte oder Verläufe enthalten oder allgemein Effekte über Bildern die ich schon auf panels und pictureboxen gezeichnet lassen hatte, schienen damit irgendwie unmöglich.

s.o. ;)
Zitat:

Zitat von TaubenUlli (Beitrag 1327545)
Schriftarten sind auch so ein Ding: Wie bekommt man denn solche schönen farbigen Zahlen hin? Ich hatte es einmal gelößt indem ich alle Zahlen (0-9) als Bild abgespeichert habe und dann zeichnen ließ. Ist das in solchen Spielen auch so gemacht oder die Farben und Rahmen der Zahlen mit dem programm selbst gezeichnet / animiert?

Ahhh, ich sehe du bist auf dem richtigen Weg ...

Du musst immer im Hinterkopf haben, dass es keinen Sinn macht auf die Mikrosekunde genau immer wieder ein Bild zu berechnen und zur Anzeige zu bringen.

Am Anfang sollten 25 Bilder pro Sekunde (= alle 40 ms ein neues Bild) völlig ausreichen um einen flüssigen Ablauf darzustellen.

Wenn es mehr sein soll, dann musst du dir so ein 2D/3D-Game-Framework zur Hand nehmen.

TaubenUlli 20. Jan 2016 18:34

AW: Oberflächen gestalten / Animationen (Java)
 
Bisher habe ich noch nie in Delphi selbst Objekte während der Laufzeit erzeugt.
Für eins meiner Programme, welches eine unterschiedliche Spielfeldgröße hat müsste ich aber auch immer unterschiedlich viele Panels erzeugen, z.B. ein Feld mit 5x5 oder 10x10 Panels.
Ich möchte die Panels erzeugen und ihnen den Namen mit x und y wert geben damit ich bei einem Klick auf das jeweilige Panel den Wert in einem Array von 0 auf 1 setzen kann.

Die Frage wäre jetzt: Wie genau erzeuge ich in einer Schleife Panels, ich habe es (wie in einigen Beispielen aus dem Internet) so versucht:
Code:
  Type TPanelArray=Array[1..10] of TPanel;

...

  TPanelArray[i]:=TPanel.Create(Self);
...
Ich bekomme jedoch immer die Fehlermeldung "Undecleared Identifier: 'TPanel'

TiGü 21. Jan 2016 11:05

AW: Oberflächen gestalten / Animationen (Java)
 
Zitat:

Zitat von TaubenUlli (Beitrag 1327623)
Ich bekomme jedoch immer die Fehlermeldung "Undecleared Identifier: 'TPanel'

Beantworte die folgende Frage und die Lösung deines Problems springt dir entgegen:
Wo ist TPanel definiert?

TaubenUlli 21. Jan 2016 16:18

AW: Oberflächen gestalten / Animationen (Java)
 
Ich dachte TPanel ist schon vom Programm vordefiniert als Objekt aus einer internen Liste welches erstellt werden kann.
Wie genau definiere ich denn dann TPanel und vor allem wo?

frankyboy1974 21. Jan 2016 16:34

AW: Oberflächen gestalten / Animationen (Java)
 
hallo,

Zitat:

Wie genau definiere ich denn dann TPanel und vor allem wo?
Also ich würde das in der gleichen Unit definieren wie EMBA und anschliessend dann diese Unit mit in meinem Progamm einbinden.:lol:

mfg

stahli 21. Jan 2016 16:37

AW: Oberflächen gestalten / Animationen (Java)
 
Wenn Du ein Panel auf Dein Formular ziehst, Bindet die IDE die passende Unit in die Uses-Liste ein.

Welche das ist, hängt von der Delphi-Version ab. Genaueres solltest Du in der Hilfe finden oder man kann die Unit ggf. auch suchen lassen, indem man auf TPanel geht und Ctrl+Shift+A drückt.
Notfalls kannst Du auch mal ein Panel auf ein Formular ziehen und TPanel mit Ctrl ankilcken, wodurch Du in der entsprechenden Unit landest.


Delphi-Quellcode:
unit MyForm;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, Grids, DBGrids, DB, DBTables,

  ExtCtrls, // <--

  DBCtrls, StdCtrls,
  Buttons, Menus, MPlayer, Printers, Aw_AwDat, Aw_Repor, Stahl,
  Tabs, Mask, Spin, Kalender, Aw_Proc, Aw_WoDat, IniFiles,
  DBLookup, BomeOneInstance, ComCtrls, fEkStatistik, TeeProcs,
  TeEngine, Chart, dbcgrids;

type

  TMyForm = class(TForm)
    MyPanel: TPanel;
Wenn Du die Panels selbst erzeugen willst, musst Du die Unit ggf. händisch angeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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