Monster bewegungsroutine
Übersicht

AffenmannBetreff: Monster bewegungsroutine |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey
Irgentwie läuft mein Monster immer zu weit ^^ Vor der Schleife Code: [AUSKLAPPEN] For ratte.monster = Each monster Ratte\bewtimer2=MilliSecs() Next In der Schleife Code: [AUSKLAPPEN] For ratte.monster = Each Monster Ratte\Bewtimer1=MilliSecs() Next Ausschnitt der Schleife: Code: [AUSKLAPPEN] For ratte.monster = Each monster If Ratte\bewtimer2+700<Ratte\bewtimer1 Then ratte\Bewrichtung=Rnd(1,4) If ratte\Bewrichtung=1 And Ratte\bewtimer2+700<Ratte\bewtimer1 Then Ratte\gelaufenx=Ratte\gelaufenx+1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=16 Then Ratte\bewtimer1=MilliSecs() EndIf EndIf If ratte\Bewrichtung=2 And Ratte\bewtimer2+700<Ratte\bewtimer1 Then Ratte\gelaufenx=Ratte\gelaufenx-1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=16 Then Ratte\bewtimer1=MilliSecs() EndIf EndIf If ratte\Bewrichtung=3 And Ratte\bewtimer2+700<Ratte\bewtimer1 Then Ratte\gelaufeny=Ratte\gelaufeny+1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=16 Then Ratte\bewtimer1=MilliSecs() EndIf EndIf If ratte\Bewrichtung=4 And Ratte\bewtimer2+700<Ratte\bewtimer1 Then Ratte\gelaufeny=Ratte\gelaufeny-1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=16 Then Ratte\bewtimer1=MilliSecs() EndIf EndIf Next Hab schon rumgeprüft aber es klappt einfach nicht. Das einzigste was geklappt hat war , dass das Monster halt die 16 Pixel gelaufen ist aber danach ging es wieder nicht. Also das Monster steht still oder bekommt nen Schüttelfrost ![]() Hoffe ihr könnt mir helfen. MfG Affenmann |
||
- Zuletzt bearbeitet von Affenmann am Do, Jul 27, 2006 9:46, insgesamt einmal bearbeitet
![]() |
Smokie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist doch einfach Aber man sieht's im eigenen COde net, versteh ich.
Code: [AUSKLAPPEN] if ratte\zaehler=16 then ratte\dinges_var=millisecs() endif Der Zähler erhöt sich und wird dann zu 17 es muss also heißen Code: [AUSKLAPPEN] if ratte\zaehler=16 then ratte\dinges_var=millisecs() ratte\zaehler=0 endif Grüße |
||
M-Soft Studios Mit selbst gemachtem Forum!!!
Unbequem lebt's sich schwer. Musik macht erst Spaß, wenn man sie mit 2,8 facher Geschwindigkeit hört Zuletzt bearbeitet von Smokie am Fr Jan 01, 1888 51:58 PM, insgesamt 1000-mal bearbeitet |
Affenmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok Danke für deine Antwort aber läuft troztdem noch nicht ;(
Will eigentlich dass halt eine zufalls Richtung bestimmt wird. Dann soll 16 Pixel in die Richtung gegangen werden und danach geht alles wieder von vorne los. |
||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Versuch mal Ratte/Zaehler auf null zu setzen ob das was bringt
Code: [AUSKLAPPEN] If Ratte\Zaehler=16 Then
Ratte\bewtimer1=MilliSecs() Ratte\Zaehler=0 EndIf |
||
antome |
Affenmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Genau dass hat doch Smokie auch gesagt
Aber nein daran liegt es leider nicht : / |
||
antome!!! gesperrt !!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Muss wohl an der Hitze liegen ![]() ![]() ![]() Da du nur wenig Code hier angibst ist es schwer das Problem genau zu erkennen evtl. liegts an Ratte\bewtimer2 die dürfte ja ziemlich schnell größer Ratte\bewtimer1+700 liegen und dann ändert es dauernd die Richtung Code: [AUSKLAPPEN] Ratte\bewtimer2+700<Ratte\bewtimer1 evtl. diese Variable in einem bestimmte Interval neu initialisieren. |
||
antome |
Affenmann |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ha ich habs geschafft ![]() Hier die Lösung Code: [AUSKLAPPEN] For ratte.monster = Each monster If Ratte\Zaehler=0 Then ratte\Bewrichtung=Rnd(1,4) EndIf If Ratte\bewtimer2+500<Ratte\bewtimer1 And ratte\Bewrichtung=1 Then Ratte\gelaufenx=Ratte\gelaufenx+1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=32 Then Ratte\bewtimer2=MilliSecs() Ratte\Zaehler=0 EndIf EndIf If Ratte\bewtimer2+500<Ratte\bewtimer1 And ratte\Bewrichtung=2 Then Ratte\gelaufenx=Ratte\gelaufenx-1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=32 Then Ratte\bewtimer2=MilliSecs() Ratte\Zaehler=0 EndIf EndIf If Ratte\bewtimer2+500<Ratte\bewtimer1 And ratte\Bewrichtung=3 Then Ratte\gelaufeny=Ratte\gelaufeny+1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=32 Then Ratte\bewtimer2=MilliSecs() Ratte\Zaehler=0 EndIf EndIf If Ratte\bewtimer2+500<Ratte\bewtimer1 And ratte\Bewrichtung=4 Then Ratte\gelaufeny=Ratte\gelaufeny-1 Ratte\Zaehler=Ratte\Zaehler+1 If Ratte\Zaehler=32 Then Ratte\bewtimer2=MilliSecs() Ratte\Zaehler=0 EndIf EndIf Next |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group