Autor Beitrag
Borlox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 191

Win XP
Delphi 6 Enterprise
BeitragVerfasst: Di 10.12.02 21:28 
Hi,

ich möchte ein Menü mit DelphiX programieren! Ich möchte nur wissen, ob meine Überlegungen richtig sind!

Als erstes zeichne ich das Menü wie es aussehen soll! (DXTimer.Interval:=0) Dann, wenn ich auf einen Butten (Bild) drücke, dann soll eine Animation gezeigt werden, also zeichne ich durch meinen Timer die Animation in mehreren schritten! Und dann, das neue Menü!

Ist das die beste Möglichkeit um so ein Menü zu zeichnen?

Ich finde das eigentlich etwas umständlich, aber wenn es nicht anders geht!

Danke!

(11.12. 11:17 Tino) Titel geändert.
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 15.12.02 19:29 
Naja schnell ist das sicher nicht was du da willst aber mm;)

PS:
schau dir mal meine Spiele unter mimi.l4k.de
ich habe für das menu ne unit gebaut die ich dir senden könnte entwerde nutzt du sie dann als "beispiel" oder nicht das ist dann egal,
die hat zwar noch kleine fehler aber die sind nicht wilt, die einbinung ist wirklich einfach, kann dir ja auch ein beispiel noch dazu geben!
Astraios
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 25



BeitragVerfasst: Fr 20.12.02 23:53 
Hallo mimi,

ich bin auch gerade dabei, ein Spiel mit DelphiX zu programmieren.
U.a. auch mit einem ähnlichen Menü.
Könntest Du mir bitte die Unit, von der Du geschrieben hast schicken?
Wenn Du sonst noch ein paar Tips für mich hättest, wie man Animationen in DelphiX effizient und schnell darstellen kann, wäre das super!


Danke schon mal im Voraus.

Astraios
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 21.12.02 01:02 
Mit animationen habe ich mich noch nicht richtig beschädig aber sowas ist auch einfach damit ich habe irgenwo ein beispiel programm was ich geschrieben haben.
Du musst einfach nur mehrer Bilde in einer z.B bmp packen und dann über denn Draw behfel der DXImageList die dann apspielen, dabei solltes du dann auf die geschwindigkeit der animationen achten.
Sende mir am besten eine mail(mimi_17@web.de)
dann kann ich dir ja die daten seden.
Wie weit bist du denn mit DelphiX ?
Von 3D sachen würde ich abraten denn ich lehre gerade auch noch die OpenGl komonenten kennen die ich gefunden habe und damit kann man wirklich einfahc und schnell 3D Spiele in OpenGl schreiben.
Was für tips brauchst du ?
ich helfe gerne. Aber du soltles schon sagen was du genau wissen willst.

ich kann dir dann mein sachen senden ;)

MFG
mimi
Logiqu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 43

Win XP
Delphi 2006 Pro
BeitragVerfasst: So 22.12.02 03:52 
hi!

du willst also bewegte menus mit directx erstellen. ich hatte vor etwa einem jahr mit directx zu tun, bin dann aber aufgrund schlechter erfahrungen dann auf opengl umgestiegen. dennoch dürfte sich das prinzip nicht sehr unterscheiden. nehmen wir mal an, du hast ein menupunkt, aus dem ein flyout kommen soll. dann würde ich empfehlen, einen record für den menupunkt zu erstellen. der könnte zum beispiel so aussehen:
ausblenden Quelltext
1:
2:
3:
4:
5:
type TDXMenu = record
  Position: single;
  MovingStatus: (idle, open, close);
  Speed: single;
end;

mit diesem record solltest du zurecht kommen. Position gibt an, wo sich das flyout gerade befindet, MovingStatus ob sich das menu bewegt (keine veränderung, öffnen, schließen) und Speed die geschwindigkeit, mit der es geöffnet / geschlossen wird.
mit dieser variante brauchst du den timer nicht jeweils aktivieren und deaktivieren. du brauchst nur noch die zeit messen, die von einem frame zum anderen vergeht, damit das menu nicht auf einem schnellen rechner schnell rausfährt und auf einem langsamen langsam.
in groben zügen würde das herausfahren zum beispiel so aussehen:

menupunkt.Position := menupunkt.Position + menupunkt.Speed * [verstrichene Zeit];

ich hoffe, es hilft dir ein bisschen weiten.

CU, Logiqu!
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 26.12.02 18:25 
die frage ist ja auch: Wie willst du das menupunkt bewegen ?
nur nach links ? rechts ? oben ? unten ? vorne ? hinten ?
oder oder oder.
Willst du dabei auch noch die Farbe ändern ?
also wenn du genau sags was du willst könnte ich dir weiter helfen :P

MFG
mimi