Problem mit zeitvariablen
Übersicht

Blitzkrieg BopBetreff: Problem mit zeitvariablen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Leute. Im Folgenden Codeausschnitt seht ihr so einige Sachen, was alles passiert, wenn die linke Maustaste gedrückt wird. Es geht eigentlich nur um folgende Zeile:
monsterkill_timer = monsterkill_timer + 1 bei jedem Maustastendruck geht der Timer um 1 höher. Ich möchte aber, das ab dem ersten Tastendruck der Timer unendlich weiter um 1 steigt, ohne das man immer drücken muss. ALso ab dem ersten Tastendruck soll die Variable konstant um 1 steigen. Wo muss diese monsterkill_timer = monsterkill_timer + 1 Variable hin, oder iwe kann ich sie abspeisen, das das obige eintrifft? Ich habe es shcon mit einer function probiert, klappt aber nicht. DAnke im VOraus ![]() For huhn2.gegner = Each gegner If muni > 0 If ImagesOverlap(gegner,huhn2\posx,huhn2\posy,cursor_klein,x_maus,y_maus) If MouseDown(1) And gegner_vordergrund_wart = 0 monsterkill_timer = monsterkill_timer + 1 punkte = punkte + 100 Text 400,400,"Getroffen!" PlaySound(schrei) Delete huhn2 monsterkill = monsterkill + 1 gegner_vordergrund_wart = 1 ; diese drei daten sorgen dafür das das gedrückt halten von der linken gegner_mittelgrund_wart = 1 ; maustats nix bringt ![]() gegner_hintergrund_wart = 1 EndIf EndIf EndIf Next If MouseDown(1) = 0 Then gegner_vordergrund_wart = 0 EndIf Code: [AUSKLAPPEN] |
||
~ Hey Ho Let's Go ~ |
![]() |
General Alex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da ich jetzt nicht so viel Zeit habe, kann ich es dir nicht ganz genau mit deiner Programmcode erklären, aber dafür benötigst du das Befehl "MilliSecs()". Hier mal ein Beispiel:
Code: [AUSKLAPPEN] Const Verzoegerung = 2000 time = MilliSecs() If (MilliSecs() - time) >= Verzoegerung then Monsterirgendetwas = 1 Die Variable "time" speichert den 1. Wert von MilliSecs(). Danach subtrahierst du den jetztigen Wert von MilliSecs() mit time, das gibt dann die Differenz. Und wenn die grösser ist als "Verzoegerung", dann passiert das und das ... Beim Beispiel wird die Variable "Monsterirgendetwas" auf 1 gesetzt, sobald 2 Sekunden = 2000 Millisekunden vergangen sind. |
||
![]() |
Blatolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe Blitzkrieg Bop so verstanden dass er will dass wenn man einmal mit der maus drückt die vari ständig erhöht wird.
Dazu setzt du eine vari auf true und fragst dann später ab ob sie true ist und wenn ja dann erhöhe die vari. |
||
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() ![]() ![]() Hab ich net verstanden würde es so machen: if mousehit(1) then ... hoch=1 end if if hoch=1 then Paul=Paul+1 end if |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke michi! deine lösung ist natürlich richtig, hatte wohl nen blavck out | ||
~ Hey Ho Let's Go ~ |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schiebs auf was du willst. ![]() Nie vergessen: The Offspring und SOAD sind die coolsten |
||
![]() |
Blatolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte doch genau das vorgeschlagen was michi hingeschrieben hat.
Und Worte in Code umformen wirst du ja wohl noch können. Und was soll daran nicht zu verstehen gewesen sein? |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
stimmt auc wieder ![]() aber codebeispiele springen besser an und man kann sich in sie rienversetzen |
||
~ Hey Ho Let's Go ~ |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kommt druff an aber igall | ||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm leute, ich bin dabei einen monstekrill zu proggn, odch es treten probs mit den variablen auf! man soll einfach 4 gegner killen und dann wird der text monsterkill eingeblendet und dann , nach ner kleinen pause, (damit man nicht ununterbrochen monsterkillen kann, kanns wieder losgehen.
Code: [AUSKLAPPEN] ; MONSTERKILL If zaehler2 = 1 zaehler3 = zaehler3 + 1 EndIf ; 3 klick und der timer 'zaehler3 < 100' dann passiert das und das: If zaehler = 4 ; d.h.: wenn 5 mal die maustatste gedrückt wurde: If zaehler3 < 200 ;d.h.: wenn der timer 'zaehler3' unter 200 ist textzaehler = 1 zaehler3 = 0 zaehler = 0 EndIf EndIf ; allgemein gilt, wenn der timer über 200 liegt, ist er wieder auf 0 If zaehler3 > 200 zaehler3 = 0 EndIf ; nun muss noch bestimmt werden, wie lange der text monsterkill etc. auf dem bildschirm steht. ; es gilt: der text bleibt so lange stehen, bis der timer 'textzaehler2' < 60 : If textzaehler = 1 textzaehler2 = textzaehler2 + 1 If textzaehler2 < 100 ; eigentlich müsste der wert 100 höher gesetzt werden, damit er mit der zeile: ; 'If textzaehler2 > 280' übereinstimmt. macht man das, bleibt aber der text ; zu lange stehen. somit wird eine neue zeitvariable eingeschaltet, die dann in ; der zeile : 'If textzaehler2 > 280' abgefragt wird. testzaehler = testzaehler + 1 Text (1024/2),(768/2)-100,"WOW! ein Monsterkill!",True Text (1024/2),(768/2)-70,"+30 Punkte",True EndIf EndIf If textzaehler2 > testzaehler ; hier wird der Textzähler wieder zurückgesetzt (280, damit man auch nicht ; oft hintereinander son kill haben kann :P textzaehler2 = 0 textzaehler = 0 EndIf wie kannm an das vereinfachen oder ähnliches? |
||
~ Hey Ho Let's Go ~ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group