![]() |
Timer Event
huhu,
also mit den Timern häng ich ziemlich zurück :o Bzw. weiß ich beinahe nichts über diese -.- Leider hab ich über Suche kein wirklich tolles Tutorial gefunden was mit mal ein Timer erklärt. Jetzt nur mal kurz meine Frage, denn ich brauch ein Event, dass von einem Timer immer wieder nach einer bestimmten Zeit gestartet wird. Weiter als: Timer1.Enabled := True; bin ich nur leider noch nicht -.-" Danke im vorraus :) |
Re: Timer Event
Du gibst ein Timer-Intervall in Millisekunden an, nach dessen Ablauf der Code des Timer-Events ausgeführt wird. Dies geschieht so lange zyklisch, solange der Timer Enabled ist.
|
Re: Timer Event
Das Event kommt dann unter OnTimer?
|
Re: Timer Event
Genau.
|
Re: Timer Event
ich pack das jetzt mal einfach hier dazu, und zwar bildet sich jetzt folgendes Problem:
Über den Timer wird jetzt mein Event ausgeführt, somit so alles okay, allerdings soll bei dem Timer event ein Wert um einen zweiten Wert verringert werden und zu gleich in einem Gauge als Prozent gezeigt werden. Problem ist, dass meist schon 0% sind, wenn der Wert noch bei 400 ist. Das sieht bei mir so aus:
Delphi-Quellcode:
Mit round, sowie mit trunc kommt das gleiche ergebnis, somit ist es kein Rundungsfehler :S
procedure TForm1.Angriff;
Var Min, Max, verursacht, Schaden : Integer; TotalWert, PlayerHP, HPWert, ProzentWert : Real; begin Min := Enemys[i].MinDmg; Max := Enemys[i].MaxDmg; Schaden := Zufallszahl(Min, Max); PlayerHP := Player[n].HP; HPWert := (PlayerHP / 100); // TotalWert := (Schaden / HPWert); // Errechnung der Prozente verursacht := trunc(TotalWert); // Gauge2.Progress := Gauge2.Progress - verursacht; // Aktualisierung der HP Bar Player[n].HP := Player[n].HP - Schaden; Label3.Caption := IntToStr(Player[n].HP); Meldung; end; |
Re: Timer Event
Im Timer reduzierst du bei jedem Aufruf den Wert von "Gauge2.Progress" um den Wert von "Verursacht" - Wo/wann wird der Wert "Gauge2.Progress" aber initialisiert bzw. wieder "gefüllt"? Je nach Grenzwerten Min/Max in Relation zum Wert von "Gauge2.Progress" und Aufrufhäufigkeit wird "Gauge2.Progress" so schnell auf 0 reduziert.
PS: Plural von Enemy ist Enemies |
Re: Timer Event
Gauge2.Progress wird zu beginn auf 100 gesetzt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz