Ladebalken / Werteleiste Anzeige

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Neoxit

Betreff: Ladebalken / Werteleiste Anzeige

BeitragMi, Jun 30, 2010 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Heydiho meine Lieben Wink

Dank der freundlichen unterstützung von Midimaster kann ich euch nun eine Funktion zur vollautomatischen Zeichnung und Aktualisierung eines Balkens in einer Art Werteleiste / Ladebalken. Sprich wenn der spieler eine besondere EP / HP anzeige oder so etwas hat, oder eine Energieleiste die ihr per Balken Prozentual anzeigen lassen wollt Wink

BlitzBasic: [AUSKLAPPEN]

;FUNKTION(x position - y position - grafikdatei - maximaler wert - aktueller wert - ausrichtung - abnehmend)
;Ausrichtung ( Direction1 )
;1 = horizontal
;2 = vertikal

;Abnehmend ( Direction2 )
;1 = Von Rechts abnehmend / von oben abnehmend ( Je nach dem ob Horizontal / Vertikal)
;2 = Von Links abnehmend / von unten abnehmend ( Je nach dem ob Horizontal / Vertikal)


Function DrawPercentBarGraphic(XPos,YPos,Img,Max,Now,Direction1,Direction2)
;Bildwerte Ermitteln
ImgHeigh = ImageHeight(Img)
ImgWidth = ImageWidth(Img)

;Prozentbrechnung
Percent# = (Now*100) / Max


If Direction1 = 1 Then
DrawLengh# = (ImgWidth*Percent#) / 100
If Direction2 = 1 Then
;Horizontal von Rechts abnehmend
DrawImageRect(Img,XPos,YPos,0,0,DrawLengh#,ImgHeigh)

EndIf
If Direction2 = 2 Then
;Horizontal von Links abnehmend
DrawImageRect(Img,XPos+ImgWidth-DrawLengh#,YPos,ImgWidth-DrawLengh#,0,DrawLengh#,ImgHeigh)
EndIf
EndIf

If Direction1 = 2 Then
DrawLengh# = (ImgHeigh*Percent#) / 100
If Direction2 = 1 Then
;Horizontal von Oben abnehmend
DrawImageRect(Img,XPos,YPos+ImgHeigh-DrawLengh#,0,ImgHeigh-DrawLengh#,ImgWidth,DrawLengh#)
EndIf
If Direction2 = 2 Then
;Horizontal von Unten abnehmend
DrawImageRect(Img,XPos,YPos,0,0,ImgWidth,DrawLengh#)
EndIf
EndIf

End Function



Die Funktion nennt sich:

DrawPercentBarGraphic(XPos,YPos,Img,Max,Now,Direction1,Direction2)
XPos = Die Xposition des Balkens
YPos = Die Yposition des Balkens
Img = Das Bild welches für den balken genutzt wird
Max = Der Maximalwert der genutzt wird (zb. HP_maximalwert oder Energie_maximalwert)
Now = Der Aktuelle wert, welcher der spieler gerade hat (zb. HP_aktuell oder Energie_aktuell)
Direction1 = Die Ausrichtung ob der Balken Vertikal oder Horizontal agieren soll ( Liste steht oben im Kommentarbereich)
Direction2 = Von welcher seite bei der jeweiligen ausrichtung abgenommen werden soll. (Liste steht oben im Kommentarbereich)

Wenn euch etwas fehlt oder ihr noch gerne etwas in der Funktion hättet, dann sagt mir bescheid, ich erweitere es dann dementsprechend.

Ich weiß das es so eine Art Funktion BESTIMMT schon gibt, aber ich wollte euch einfach auch mal mit irgendwas nützlichem bereichern =)

Hoffe vielleicht auf ein bisschen Feedback Wink
In dem Sinne
Euer Neoxit

@ Holzchopf
Zur kenntnis genommen, beachtet und geändert Wink
  • Zuletzt bearbeitet von Neoxit am Do, Jul 01, 2010 12:26, insgesamt 2-mal bearbeitet

Holzchopf

Meisterpacker

BeitragDo, Jul 01, 2010 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Neoxit hat Folgendes geschrieben:
DrawProzentBalkenGrafik
Bis dahin hab' ich gelesen, dann überkam mich ein Schaudern...

Wir haben hier zwar (noch) keine besonders strikten Regeln, was Formatierung und Notation anbelangt, aber dürfte ich dich Trotzdem bitten, dich
1. für eine Sprache zu entscheiden (du mischst Deutsch und Englisch)
2. für eine Notation zu entscheiden (mal hast du CamelCase, mal benutzt du under_line und zwischen durch mixt_Du die Notationsarten) und
3. Variablen immer gleich und (wenn möglich) richtig zu schreiben (ich lese da zB. drawlengh# sowie DrawLengh#).

Diese Punkte zu erfüllen sollte nicht schwer fallen, erhöhen aber die Lesbarkeit des Codes enorm. Wenn Kommentare auf Deutsch verfasst werden ist das kein Problem - öffentlich zugängliche Codes sollte man bevorzugt in der Sprache kommentieren, welcher man mächtig ist. Also englisch nur dann, wenn man auch sicher ist, dass das, was man schreibt, auch gelesen und verstanden werden kann.

Übrigens kann ich dir (so von wegen unterschiedlicher Gross-/Kleinschreibung der Bezeichner) den Editor IDEal sehr ans Herzen legen. IDEal übernimmt nämlich bei jedem Vorkommen im Code die Gross-/Kleinschreibung, die bei der Deklaration verwendet wurde.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group