Lebensanzeige (Rect)
Übersicht

![]() |
N0XBetreff: Lebensanzeige (Rect) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich möchte eine Lebensanzeige mit Rect ![]() Denn ich habe ein Maximalleben (z.B. 400) und ein aktuelles Leben (z.B. 320-> wir wurden gerade angegriffen ![]() Wie kann ich meinen Rect-Balken jetzt mit immer der gleichen maximal Länge haben, und wenn man angegriffen wird das dann der Balken dementsprechend gekürzt wird? (schwierig zu erklären, wer aber mal irgendein Onlinerollenspiel gespielt hat, dürfte wissen was ich meine ^^) Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also du berechnest den Prozentualen Anteil deines aktuellen Lebens von dem Gesamtleben und multiplizierst es mit der maximalen Lebensbalkenbreite. Verstanden?
Code: [AUSKLAPPEN] Local width#=300
Local maxlive#=463 Local live# Local timer=CreateTimer(60) SetBuffer BackBuffer() Repeat WaitTimer(timer) Cls If KeyDown(203) And live>0 Then live=live-1 If KeyDown(205) And live<maxlive Then live=live+1 Rect 10,10,live/maxlive*width,30 Flip 0 Until KeyHit(1) End |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz einfach:
BlitzBasic: [AUSKLAPPEN] laenge = Float(leben)/maximal_leben*maximal_laenge |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok... angenommen du hast 2 varibalen:
BlitzBasic: [AUSKLAPPEN]
Nn musst du die BREITE (im beispiel 128 pixel) deiner Lebensleiste / maxLeben in eine Variable speichern, die nennen wir mal BlitzBasic: [AUSKLAPPEN]
Willst du jetzt die anzeige z.B. mit rect zeichnen musst du nurnoch: BlitzBasic: [AUSKLAPPEN]
Schreiben ![]() [EDIT] Misst! viel zu spät^^;D |
||
- Zuletzt bearbeitet von beanage.johannes am Fr, Jan 29, 2010 17:06, insgesamt einmal bearbeitet
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, danke!
Hat funktioniert! ![]() Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
primero |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi
Am besten du verwendest den Dreisatz^^ 400 ^= 100% (maximalleben) 1 ^= 100\400 320 ^= 100*320\400 (Aktueles Level) im Grund würde der Code so aussehen: Code: [AUSKLAPPEN] Graphics 800,600,16,3 SetBuffer BackBuffer() Global max_leben ;maximales derzeitiges leben Global leben ;Tatsächliches leben Global proz ;Prozentuales Leben Max_leben=400 leben=320 Repeat Cls If KeyHit(28) Then leben=leben-5 ;Enter verwundet den Spieler If KeyHit(57) Then leben=leben+5 ;leertaste heilt Spieler If KeyHit(59) Then max_leben=max_leben+50 ;F1 bringt einen ins höhere Level proz = 100 * leben / max_leben ;berechnen des Prozentualen Wertes Color 200-(proz*2), proz*2 ,0 ;Farbliche änderung des Balkens. Rect 10,10,proz,20 Color 255,255,255 Text 10,50,"Aktueles Leben: "+leben+" maximal: "+max_leben Flip Until KeyDown(1)=1 hoffe das hilft Edit: eindeutig zu langsam |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group