Erstellen einer HUD?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: Erstellen einer HUD?

BeitragMi, Sep 18, 2013 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo leute ich habe da ein problem Very Happy ich überleg mir die ganze zeit schon wie man eine HUD erstellen kann, ich dachte erst hintergrund kopieren im image ablegen einfach ein rect nutzen und image abgesehen von der füllmenge die man vorher transperent declariert hat drüberlegen.

nur wäre es dann nich so das die fps sehr drunter leidet da der hintergrund sich oft verändert?

naja wie realisiert man nun solch eine hud. so das es ressorcen schonend ist?
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017

ZEVS

BeitragMi, Sep 18, 2013 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich den Begriff HUD richtig verstanden habe, willst du vor dem Blick aus dem eigentlichen "Cockpit" einige Informationen anzeigen. Da dies im zweidimensionalen trivial ist, denke ich, dass du eine dreidimensionale Szene hast, die du mit irgendeiner Lib wie minib3d oder direkt mit OpenGL o.ä. anzeigst und gerne vor dem Dreidimensionalen etwas Zweidimensionales zeichnen möchtest (das sind alles wichtige Informationen, die sich nicht unbedingt direkt aus deiner Fragestellung ergeben).
Das HUD selbst kann man mit den normalen Max2D-Funktionen sehr gut anzeigen. Wenn meine Annahmen alle zutreffen und du minib3d benutzt, kannst du erst die Sicht aus dem Cockpit mit RenderWorld zeichnen, dann mit BeginMax2D auf Max2D umschalten, dein HUD so wie du es im normalen 2D zeichnen würdest, auch zeichnen, dann EndMax2D aufrufen und schließlich Flippen.
Da so nichts hin- und herkopiert wird, ist das ziemlich resourcenschonend.

ZEVS

Mathias-Kwiatkowski

BeitragDo, Sep 19, 2013 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hi dak , nein ich mache in diesem fall nichts mit sachen 3d. kla ist auch das ich leben und z.b. mana in dieser hud anzeigen lassen möchte. aber es ist alles 2d. ich weiss blos nicht wie ich eine hud erstelle oder malen soll? Very Happy
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017

ZEVS

BeitragDo, Sep 19, 2013 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, du zeichnest erst die ganzen Spielelemente und dann kannst du mit DrawImage bzw. DrawText darüber andere Sachen anzeigen, wo ist da das Problem?

ZEVS

Mathias-Kwiatkowski

BeitragDo, Sep 19, 2013 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
wer spricht von drawtext?
ich rede von einer anzeige hud ansich selbst. halb gerundet, also so wie man eine HUD eigentlich kennt, also nicht schrift oder text, oder 3d. einfach nur sowas... ich nehme nun ein bsp aus wow , das mit einer hud ausgestattet ist..

beactet nun nicht das spiel im huntergrund oder den text sondern nur die HUD ansich, wie kann man sowas am besten programmieren?

Alos Weder Drawtext noch 3d . ich habe vorher nicht erwähnt das es sich um 2d handelt, da ich davon ausgegangen bin das man eine hud sowieso immer in 2d zeichnet. ist es nicht so?

user posted image

EDIT
ich sollte dazu schreiben das ich die füllmenge in halb rund meine, da diese ja prozentual angezeigt wird.. z.b. 40% leben dann darf die hud ja nicht ganz ausgemalt sein. hoffe man versteht mich nun, ich weiss sonst nicht wie ich es besser beschreiben soll:D
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017

Tennisball

BeitragDo, Sep 19, 2013 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Mathias-Kwiatkowski hat Folgendes geschrieben:
halb gerundet, also so wie man eine HUD eigentlich kennt

Aha, das wäre mir jetzt aber neu. Egal.

Jedenfalls könntest du für eine solche Anzeige zwei Bilder gebrauchen. Einmal das graue "Hintergrundding" und dann eines was nur die Füllung darstellt. Jeweils mit entsprechender Transparenz (dürfte klar sein).
Dann zeichnest du immer mit DrawImage das Hintergrundding und danach mit DrawImageRect einen entsprechenden Teil der Füllung darüber.

Gruß,
Tennisball

Mathias-Kwiatkowski

BeitragFr, Sep 20, 2013 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, das klingt so als sei es einfach Very Happy , habe noch nie mit drawimagerect gearbeitet , schäm aber gut ich bedanke mich bei dir.
Skype: Anarchie1984
http://projektworks.de/maxbase/
Icq - Erneuert am 21.08.2017
Yahoo - Erneuert am 21.08.2017

BladeRunner

Moderator

BeitragFr, Sep 20, 2013 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein HUD (Head-Up-Display) ist weit mehr als kleine Wow-Bälkchen. Deine Fragestellung war also mehr als wackelig.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Lobby

BeitragFr, Sep 20, 2013 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollte noch kurz anmerken, dass das DrawImageRect von BlitzMax nicht dem von BlitzBasic entspricht. Es zeichnet nämlich nicht einen Bildausschnitt in ein Rechteck, sondern zeichnet das gesamte Bild verzerrt so, dass das angegebene Rechteck davon ausgefüllt wird (etwa bei gebogenen Anzeigeelementen wäre das eher nicht das Gewünschte).

Das Pendant zu DrawImageRect von BlitzBasic ist in BlitzMax DrawSubImageRect.
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group