Wie kann man diese Edits wie in Spielen machen?
hi leutz!
(Hoffe, es kommt hierher) Was ich mich immer öfter frage ist, wie diese Edits in die Spiele reinkommen. Nehmen wir jedes x-beliebige Spiel: (meinetwegen Warcraft III :D ) wenn man z. B. ins BattleNET einloggen will oder den Spielernamen eingeben will, dann ist ja da ganz gewöhnlich ein Textfeld. Nur wie wird das gemacht?! Ist das eine eigene Komponente oder ist das nur ein Bild, wobei, wenn es fokusiert ist, jede Taste abgefangen wird und der Buchstabe hinzugefügt wird? Wie geht das? (Ich denke jetzt auch an DelphiX und openGL ;) ) |
Re: Wie kann man diese Edits wie in Spielen machen?
Ich denke letzteres. Ein Bild, und bei jedem Tastendruck wird einfach die Taste abgefangen und wenns alphanumerisch ist zum String hinzugefügt und der String wird dann über das Feld gezeichnet.
|
Re: Wie kann man diese Edits wie in Spielen machen?
Wenn es so ist/wäre,
gibt es auch eine Unit/Komponente/etc., die das etwas einfacher macht? Sonst muss ich ja für jedes kleine "Editfeld" viel rumschrauben.. :( |
Re: Wie kann man diese Edits wie in Spielen machen?
Du könntest eine Klasse basteln, etwa so:
Delphi-Quellcode:
Die dinger kommen alle in ein Array.
type TGraphicEdit=class
public X, Y: Word; Width, Height; Text: String; id: Byte; constructor Create; destructor Destroy; procedure Draw; end; So in der Art. Und dann noch eine globale Variable, die die ID des momentan aktiven Edits speichert. |
Re: Wie kann man diese Edits wie in Spielen machen?
und wie fange ich dann die tastatureingaben am besten ab?
|
Re: Wie kann man diese Edits wie in Spielen machen?
Ich verweise einfach mal ganz frech auf einen anderen Beitrag:
http://www.delphipraxis.net/internal...230&highlight= Dort hab ich auch was zum GUI von meinem Projekt X-Force geschrieben. |
Re: Wie kann man diese Edits wie in Spielen machen?
:wall: Dass ich immer zu faul zum Suchen bin.
|
Re: Wie kann man diese Edits wie in Spielen machen?
Zitat:
|
Re: Wie kann man diese Edits wie in Spielen machen?
Ich bin ein Newbie und ich habe keine bessere Lösung. Ich denke, es gibt viele Möglichkeiten, und welche man verwendet hängt wohl vor allem davon ab, ob man eine 400 kb Freeware oder einen kommerziellen 3D-Ego-Shooter proggen will.
|
Re: Wie kann man diese Edits wie in Spielen machen?
Zitat:
Ich komm da irgendwie nit klar :( Kannst du das in ein ZIP oder so packen und evtl. sogar ein Tutorial, bzw. einige Infos dazu schreiben, wie mans verwendet, etc.? |
Re: Wie kann man diese Edits wie in Spielen machen?
Zitat:
Ich habe es nur mal als Beispiel aufgeführt, wie man solche GUI mit DelphiX machen kann. Eine eigene GUI zu entwickeln ist keine Sache die man einfach mal neben bei macht. Die sollte auch immer relativ zum Projekt sein. Um ein eigenes Eingabefeld zu machen kannst du dir die Unit http://cvs.sourceforge.net/viewcvs.p....3&view=markup anschauen. Das Grundprinzip bei einem Eingabefeld ist halt ganz simpel, dass du die Tastatureingaben abfängst und in einen String speicherst. |
Re: Wie kann man diese Edits wie in Spielen machen?
also spontant würde ich sagen das es auch mit einem normalen Edit geht, natürlich muss man da etwas ändern. Also einfach von TEdit ableiten, den BorderStyle auf bsNone setzen und dann wm_EraseBackground (oder wie das geschrieben wird) überschreiben und selbst einen Hintergrund malen. Gegebenfalls auch noch die Paint-Methode überschreiben und fertig sollte das ganze sein.
|
Re: Wie kann man diese Edits wie in Spielen machen?
boah... das hört sich für mich aber nicht so einfach an :(
Ich versuchs mal, mit der X-Force-Komponente als Vorlage, aber ich denke nicht, dass es klappen wird... Wie kann ich denn dann wie in der Vorlage ein solches Edit erstellen/anzeigen/etc. ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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