frame bzw. Xpos problem
Übersicht

petecoolbelabBetreff: frame bzw. Xpos problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
Wenn ich vor gehe mit dem mänchen, funzt es ganz normal, wenn ich aber zurück und dann nach vorne gehe, funktioniert es nicht mehr. Woran liegt das? Hier meine Hauptschleife: Code: [AUSKLAPPEN] Repeat
Cls MilliSecs() DrawImage Map1, 1, 1; Hintergrund zeichnen DrawImage Man, Xpos, 360, frame ; Männchen Zeichnen Text 0,0, millisecstotime(MilliSecs()-startzeit) DrawImage Kaestchen, KXpos, KYpos KXpos = 300 KYpos = 400 If "DrawImage Kaestchen" Then kzaehler = kzaehler + 1 EndIf If kzaeler = 1 Then KXpos = 400 And KYpos = 300 EndIf Text 0,0, millisecstotime(MilliSecs()-startzeit) If MKYpos > KYpos And Xpos = 240 Then ypg = 1 ElseIf MKYpos < KYpos Then ypg = 0 EndIf If zeit3 + 50 < MilliSecs() And fr = 1 Or 0 Then zeit3 = MilliSecs() fr = fr +1 EndIf If fr = 2 And Hitt > MilliSecs() Then Hitt = MilliSecs() + 1000 fr =2 EndIf If Ypos < 400 Then Ypos = Ypos + 1 EndIf If Ypos = 399 Then Ypos = 401 EndIf If Ypos > 400 Then Ypos = Ypos EndIf If Ypos < 2 Then DrawImage Pfeil1, 310, Ypos EndIf If KeyDown(205) And zeit + 100 < MilliSecs() Then ; Figur geht nach vorne und wenn frame=5 dann frame=1 zeit = MilliSecs() frame = frame + 1 If frame = 5 Then frame = 1 EndIf DrawImage Pfeil1, 310, Pfeilypos If KeyDown(203) And zeit + 100 < MilliSecs() Then ; wenn <- dann figur geht zeit = MilliSecs() frame = frame + 1 If frame = 10 Then frame = 6 EndIf If Dauer = 1000 Then DrawImage K1, 640, 310 EndIf Include "IFs3.bb" If Xpos > 640 Then Xpos = 1 EndIf If Xpos < 0 Then Xpos = 640 EndIf Flip |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If "DrawImage Kaestchen" Then
Danke, das brachte mir heute den tollen "WTF"-Effekt. ![]() Was soll das genau bewirken? Kommentier bitte deinen Code. |
||
![]() |
Rone |
![]() Antworten mit Zitat ![]() |
---|---|---|
was hat das
Code: [AUSKLAPPEN] Include "IFs3.bb"
in deiner Hauptschleife verloren? Mich wundert, dass sich dein Männchen überhaupt bewegt, schließlich veränderst du soweit ich gesehen habe 'Xpos' nicht in dem geposteten code.. |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Includes dürfen in der Hauptschleife sein, Rone, die werden nur beim Kompilieren beachtet. | ||
petecoolbelab |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das If "Drawimage kaestchen" könnt ihr vergessen. auch wenn ich es lösche, pasiert das gleiche. | ||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein es macht keinen SINN !
Code: [AUSKLAPPEN] IF bedingung = erfüllt then anweisung
IF prüft ob ein wert = 1 ist (also wenn man schriebt wert = 5 und der wert ist gleich 5 dann gibt es 1 zurück sonst null.), bei deinem beispiel ist "DrawImage bla,x,y" then ... ist es ja immer 0... mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
F |
![]() Antworten mit Zitat ![]() |
---|---|---|
IF : https://www.blitzforum.de/help/If
DrawIMage : https://www.blitzforum.de/help/DrawImage |
||
Signatur? Noch nie Gehört... |
petecoolbelab |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, das is egal. Ich will aber wissen, was an dem Code sonst noch falsch ist. | ||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fang nochmals neu an. Der Code sieht aus wie zusammenkopiert, er ist schlecht eingerückt, das meiste mit Leerzeichen. Grausig. | ||
petecoolbelab |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja,
kann man es trotzdem auch so lösen? |
||
![]() |
garret |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, könnte man. Mit viel Umschreiben.
Also schreib deinen Code besser neu, so hart es klingt (nämlich nach Arbeit). Bei der Gelegenheit kannst du ihn sinnvoll gliedern und kommentieren. Obwohl ich glaube, dass du mit dem Code weitermachen würdest, wenn wir dir die Fehler in der jetzigen Version nur aufzeigen, hier ein kurzer Abriss einiger Dinge, die falsch sind: Code: [AUSKLAPPEN] Millisecs() allein ist sinnlos, da Millisecs() eine Funktion ist (= Werte zurückgibt). Du weist keiner Variable diesen Funktionswert zu. Code: [AUSKLAPPEN] If kzaeler = 1 Then KXpos = 400 And KYpos = 300 EndIf funktioniert nicht, aus folgenden Gründen: 1. In kzaehler fehlt das "h" 2. Du kannst 2 Variablen nicht gleichzeitig durch AND Werte zuweisen, da AND ein logischer Operator ist, der nur für Abfragen verwendet werden kann. Also If A=1 AND B=1 Then (Anweisung). Wenn du zwei Variablen Werte zuweisen willst, musst du das nacheinander machen: Code: [AUSKLAPPEN] If X = 1 And Y = 2 A=1 B=1 EndIf Zu dem Problem mit dem Vor- und Zurückgehen: Code: [AUSKLAPPEN] If KeyDown(205) And zeit + 100 < MilliSecs() Then; Bedingung A zeit = MilliSecs(); Befehl A EndIf [...] If KeyDown(203) And zeit + 100 < MilliSecs() Then ; Bedingung B zeit = MilliSecs() EndIf Ich hab deinen Code mal kommentiert und für die Erklärung Unwichtiges entfernt, das heißt nicht dass die entfernten Zeilen falsch sind ![]() Erklärung: In Bedingung A fragst du wie in Bedingung B ab, ob eine Zeitspanne von 100 Millisekunden verstrichen ist. Das ist ja in Ordnung, aber dadurch, dass du in der ersten Abfrage diesen Wert zurücksetzt (Befehl A), kann bei Abfrage B diese Spanne nur erreicht werden, wenn unmittelbar vorher (sprich: innerhalb von 100 ms) nicht die andere Taste gedrückt wurde. Unkompliziert erklärt: Tastenabfrage und Zeitspanne in A erfüllt, Zeitvariable wird zurückgesetzt -> Tastenabfrage in B erfüllt, Zeitspanne aufgrund der zurückgesetzten Zeitspanne nicht -> Block B nicht ausgeführt ![]() Also klammerst du die Zeitspanne am Besten um die Tastenabfragen: Code: [AUSKLAPPEN] If zeit + 100 < MilliSecs() If KeyDown(203) (Befehle) zeit = MilliSecs(); EndIf If KeyDown(205) (Befehle) zeit = MilliSecs(); EndIf EndIf MfG, garret |
||
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group