Entwickler-Ecke

Multimedia / Grafik - Lebenspunkteleiste


luck.ritze - Sa 01.11.03 13:22
Titel: Lebenspunkteleiste
Jo, ich bin totaler Gruenling im Geschaeft und bereits mit dem ersten kleineren gorssen Projekt konfrontiert.
Ich will ein rundenbasiertes Kampfspiel in delphi 4 programmieren und habe dazu Progressbars in die Oberflache eingebaut, welche dazu dienen sollen die HP der Spieler anzuzeigen. Nun weiss ich allerdings nicht, wie man mit diesem Objekt arbeitet. Wir habens im Schulkurs noch garnicht durchgenommen und gescheite Hilfe konnte ich im Programm selbst nicht finden. Wenn ihr mir einen guten FAQ oder Delphi 4 dummies Text linken koenntet waere ich euch zu Dank verpflichtet. wenn ihr mir so sagen koennt wies gemacht wird bin ich auch zufrieden ;)

Der Gedanke war, dass die Leiste zu Beginn voll ist und auf ButtonClick zB 30 von 440 Punkten verliert (von rechts nach links und umgekehrt).

Danke im Voraus!


luck.ritze - Sa 01.11.03 13:45

Zitat:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Min := 0;
// hier gibst du den maximal-Wert ein der in deinem Label stehen wird
ProgressBar1.Max := ...;
ProgressBar1.Position := StrToInt(Label1.Caption);
end;


Das hab ich schonmal finden koennen, aber wie ist es mit farbenaenderung und verlaufaenderung der progressbar?


umpani - Sa 01.11.03 18:03

Wenn du mit verschiedenen Farben arbeiten willst, dann schau dir besser mal die canvas an.

im Speziellen


Quelltext
1:
canvas.rectangle                    


Damit kannst du rechtecke mit verschiedenen vorher gewählten Farben zeichnen. Die Rechtecke kannst du dann ja so gestalten, dass sie wie eine Trefferpunkteleiste aussehen.


Raphael O. - Sa 01.11.03 19:15

luck.ritze hat folgendes geschrieben:
Das hab ich schonmal finden koennen, aber wie ist es mit farbenaenderung und verlaufaenderung der progressbar?

die verlaufänderung kannst du , wie du eigentlich schon geschrieben hast mittels progressbar.position:=verlaufswert; ändern...
außerdem solltest du die Eigenschaft smooth auf true setzen...


luck.ritze - So 02.11.03 18:27

progressbar.position sagt doch nur aus, worauf er zugreifen soll (also zB der Wert im labelx), wo kann ich da wie die Verlaufsrichtung *also von links nach rechts statt von rechts nach lins aendern?


Raphael O. - So 02.11.03 18:36

progressbar.position stellt den WErt dar, bis zu dem der Verlauf "vorgedrungen" ist...
den kannst du in einem timer entweder verkleinern oder vergrößern ->richtung links bzw. rechts