Frage über bild bewegung
Übersicht

Hannes15Betreff: Frage über bild bewegung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe da ein kleines prob wenn ich eine figur bewege und anhalte geht es leider immer wieder auf seine ausgangs ausrichtung wie kann ich das ändern
hier mal der Quellcode Code: [AUSKLAPPEN] Graphics 640, 480, 16, 1 SetBuffer BackBuffer() ;c.bmp bildet den Hintergrund bild = LoadImage("c.bmp") bild1 = LoadImage("Baum.bmp") bild2 = LoadImage("Markt.bmp") figur4 = LoadImage("figur4R.bmp") figur3 = LoadImage("figur3V.bmp") figur2 = LoadImage("figur2h.bmp") figur1 = LoadImage("figur1L.bmp") MaskImage figur1 ,244, 10, 197 MaskImage figur2 ,244, 10, 197 MaskImage figur3 ,244, 10, 197 MaskImage figur4 ,244, 10, 197 x = 305 y = 420 ; ; Repeat ;Hintergrund H = H+0 If H=200 Then H=0 TileBlock bild,0,H DrawImage Figur3,x,y ;Tastenabfrage If KeyDown(200) = 1 Then y = y - 1 If KeyDown(208) = 1 Then y = y + 1 If KeyDown(205) = 1 Then x = x + 2 If KeyDown(203) = 1 Then x = x - 2 If KeyDown(200) = 1 Then DrawImage figur2, x,y If KeyDown(208) = 1 Then DrawImage figur3, x,y If KeyDown(205) = 1 Then DrawImage figur4, x,y If KeyDown(203) = 1 Then DrawImage figur1, x,y If KeyDown(200) Then richtung=1 If richtung=1 Then y = y - 1 DrawImage figur2, x,y ;Randtest If x < 0 Then x = 0 If x > 609 Then x = 609 If y < 0 Then y = 0 If y > 449 Then y = 449 Flip Until KeyDown(1) End |
||
- Zuletzt bearbeitet von Hannes15 am Fr, Mai 30, 2008 16:12, insgesamt 2-mal bearbeitet
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du zeichnest figur3 immer. Es scheint mir aber so, als ob du sie nur bei Abwärts-Bewegung haben willst (KeyDown(208))
EDIT: achja, wie kann man das ändern: Mit einer zusätzlichen Variable "richtung" (oder wie auch immer), die du bei Tastendruck setzt und anhand derer entschieden wird, welches Bild gezeichnet wird. mfG, Christoph. |
||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh gut danke für den tipp ich wärds sofort versuchen^^ | ||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kann mir vil noch jemand ein tipp geben ich lerne gerade erst BB und habe leider keinen plan wie ich vorgehen muss habe schon verschiedene sachen ausprobiert die ginge aber alle nicht . leider ![]() |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, Dann mal mit
Code: [AUSKLAPPEN] If KeyDown(200) Then richtung=1
If richtung=1 Then y = y - 1 DrawImage figur2, x,y Endif Und das mit jeder Cursortaste. mfG, Christoph. |
||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun gut jetzt guckt meine Figur in die richtung in die ich geh aber ich kann jetzt über haupt nicht mehr die richtung wechseln wenn ich einmal den Key 200 gedrückt habe. | ||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
hast du auch eine if Abfrage gemacht welche Pfeiltaste gerade gedrueckt wird, und dann die richtungs Variable angepasst?[/code] | ||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein darauf bin ich noch gar nicht gekommen ich versuch's gleich mal. Danke für den tipp^^ | ||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habs geschafft ich habe einfach das hier gemacht
Code: [AUSKLAPPEN] taste = WaitKey ;Hier neu; If KeyDown(taste) Then richtung=1 If richtung=1 Then y = y - 1 DrawImage figur2, x,y EndIf Das einzige problem dabei ist jetzt das ich für jeden einzelnen schritt den ich nun gehe immer einmal drücken muss ist also echt lahm meine figur aber ich glaub ich weiß wie ich das ändere indem ich einfach die FPS rate erhöhen, wenn ich falsch liege berichtigt mich^^ |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
WaitKey![]() |
||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte das so gemeint.
Code: [AUSKLAPPEN] If KeyDown(200) Then richtung=1 ElseIf KeyDown(203) Then richtung=2 ElseIf KeyDown(205) Then richtung=3 ElseIf KeyDown(208) Then richtung=4 Else richtung = 0 end if Mit waitKey wirst du nicht weit kommen. |
||
Hannes15 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das macht bei mir überhaupt keinen unterschied egal obich Waitkey oder Get Key benutze der effekt ist der gleiche. Ich sehe da hier überhaupt keinen unterschied.
Shogo das was du da stehen hast bewirkt das gleiche wie mit waitkey irgendwie überkein unterschied. zumindest bei mir |
||
![]() |
Shogo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Der Befehl GetKey ermittelt nur die tatsächliche Tastaturbetätigungen. Wird eine Taste ständig gedrückt, so liefert diese Funktion nur einmal den Wert zurück.
deswegen geht GetKey nicht und warum es mit Waitkey nicht funktioniert hat The_Nici schon geschrieben. Ich wuerde dir KeyDown empfehlen weil der soloange True zurueck gibt bis er losgelassen wird. Ein Bsp. Code habe ich schon oben geschrieben. Edit: Poste mal deine Bewegen funktion. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group