Prozentbalken - skalierbar

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

getlose

Betreff: Prozentbalken - skalierbar

BeitragDo, März 03, 2005 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
recht einfach, mit der suche habe ich aber nix
ähnliches gefunden.


Code: [AUSKLAPPEN]
;Prozent-Balken

;MAUSTASTE 1/2 DRUECKEN ZUM HOCH/RUNTER-ZAEHLEN
;PFEILTASTEN LINKS/RECHTS ZUM VERAENDERN DER GROESSE

;Variablen setzen
Global MAIN#=876            ;Der eigentliche Wert, zb. 12935 $ oder 20 Baumstämme (Maximalwert!)
Global MAINCUT#=MAIN#/100      ;Der Hauptwert geteilt durch 100 um den 1%-Wert rauszukriegen
Global PROZENT               ;Die Prozent-Zahl
Global GFX_WIDTH#=380         ;Die Breite des Prozent-Balkens
Global GFX_HEIGHT#=10         ;Die Höhe des Prozent-Balkens (Breite und Höhe werden in PIXELN angegeben)
Global GFX_POSX=20            ;Horizontale Startposition
Global GFX_POSY=20            ;Vertikale Startposition
Global GFX_CUT#=GFX_WIDTH#/100   ;Die Anzahl an Pixeln für einen 1-Prozent-Schritt (zb. wenn der Balken 120 Pixel lang ist, wären es 1.2 Pixel pro Prozent)
Global TMP#                  ;MIT dieser Variable wird gerechnet

;Grafikmodus setzen und BackBuffer einstellen
Graphics 430,140,16,2
SetBuffer BackBuffer()

;Start des Main-Loop's
While Not KeyHit(1)
   Cls
   
   ;Mit Pfeiltasten die Breite des Balkens festlegen
   If KeyDown(203) Then GFX_WIDTH#=GFX_WIDTH#-1 : GFX_CUT#=GFX_WIDTH#/100
   If KeyDown(205) Then GFX_WIDTH#=GFX_WIDTH#+1 : GFX_CUT#=GFX_WIDTH#/100
   
   ;Wenn die Maustaste gedrückt wird, TMP um x hoch/runterzählen
   If MouseDown(1) Then TMP#=TMP#+3
   If MouseDown(2) Then TMP#=TMP#-3
   
   ;Grenzen einbauen damit keine Minuswerte und +100-Werte rauskommen
   If TMP#>MAIN# Then TMP#=MAIN#
   If TMP#<0 Then TMP#=0
   
   ;Berechnung des Prozentwertes
   PROZENT=TMP#/MAINCUT#
   
   ;Zeichnen des Rahmens
   Rect GFX_POSX-2,GFX_POSY-2,GFX_WIDTH#+4,GFX_HEIGHT+4,0
   
   ;Zeichnen des Prozent-Balkens
   Rect GFX_POSX,GFX_POSY,PROZENT*GFX_CUT#,GFX_HEIGHT
   
   ;Text, um die Werte zu verdeutlichen
   Text 20,40,"Prozent : "+PROZENT
   Text 20,80,"Eigentliche Zahl : "+MAIN#
   Text 20,100,"aktuelle Position im Hauptwert-'Strahl' : "+TMP#
   
   Flip
Wend

Artemis

BeitragDo, März 03, 2005 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
COOL

Spikespine

BeitragFr, März 04, 2005 10:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nette Sache!
Ich würde vorschlagen, auch die PROZENT als float zu deklarieren, und dass hinterher keine Kommazahl geschrieben wird:
Code: [AUSKLAPPEN]
   ANZPROZENT = Int(PROZENT)
   Text 20,40,"Prozent : "+ANZPROZENT

wobei ANZPROZENT Global ist
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax
 

getlose

BeitragFr, März 04, 2005 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
kann man noch 1000x erweitern, ging hier aber nur um
das grund-prinzip :)

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group