Figurenbewegungen.
Übersicht

![]() |
Randall FlaggBetreff: Figurenbewegungen. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Ich hab mir vor zwei Tagen BB geholt, hab auch schon mein erstes kleines Spiel gemacht. Es war zwar eines aus einem Beispiel, aber ich hab das ein bisschen umgeändert. Vielleicht kennt der ein oder andere Eat the Dots. Dort ist ein kleines weisses kästchen, was sich von alleine Fortbewegt, und man muss es nur in die Richtige Richtung weisen. jetzt hab ich mal versucht eine Figur zu erschaffen, die sich, wenn ich Cursertaste links drücke, nach links bewegt und stehenbleibt wenn ich die Taste loslasse. Irgendwie hat das nicht hingehauen. Wie mach ich das denn jetzt? |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, du hast eine Variable, die die Richtung speichert, in die sich die Figur bewegen soll.
0 = nach oben 1 = nach rechts 2 = nach unten 3 = nach links Jetzt, wenn du eine Pfeiltaste drückst, setzt du dier Richtige Richtung (also z.B. KeyHit(200) auf 2) Dann fragst du ab, welche Richtung gerade Aktiv ist, und bewegst dann die Figur in diese Richtung.... Code: [AUSKLAPPEN] if KeyHit(nachoben) then richtung = 0 ........ select richtung case 0 y = y -1 case 1 ........... end select |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke Blitzableiter hat das anders gemeint:Code: [AUSKLAPPEN] If KeyDown(200) ; Wenn Cursortaste 'nach oben' gedrückt ist
y=y-1 ; subtrahiere 1 von y EndIf ; abschliessen der If-Abfrage If KeyDown(208) ; nach unten y=y+1 ; addiere 1 zu y EndIf ; Und dasselbe für die X-Achse Rect x,y,10,10,0 ; Kasten an die Koordianten xy zeichen |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
hobbla ![]() Hab gemeint, weil er es so geschrieben hat: Zitat: Dort ist ein kleines weisses kästchen, was sich von alleine Fortbewegt... habe aber das übersehen: Zitat: ... wenn ich Cursertaste links drücke, nach links bewegt und stehenbleibt wenn ich die Taste loslasse ... cu simi |
||
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha. So funktioniert das also... Danke.
Ich hab noch ne andere Frage: Bei den meisten 2-d Spielen ist es so, dass, wenn man di Figur bewegt, sich auch der Hintergrund bewegt (Wie z.B Zelda, Pokemon etc.) Sprich: Wie kann ich es machen das die Kamera die meine Figur folgt wenn ich sie bewege? |
||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das nennt sich Scrolling. Du bewegst im Prinzip alle anderen Bilder in die Gegenrichtung ![]() |
||
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Und für was haben wir eine Beginner-Ecke ? Nimmt schon wieder überhand ... Toni |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Könnten wir endlich aktive Mods haben?? | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Nox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
*HEFTIG NICK* ![]() |
||
![]() |
Klip |
![]() Antworten mit Zitat ![]() |
---|---|---|
So habe ich es mit Hilfe aus der Beginner-Ecke gelöst, wobei es mit Case-Abfragen schöner (einfacher, schneller?) wäre.
Code: [AUSKLAPPEN] ; Spiel
; Test zur Bewegung eines Objektes per Tasten. x=120 y=120 ; ----------------------------- Grafik-Modus Graphics 640, 480 SetBuffer BackBuffer() Locate 20,40 Print "Mit Pfeiltasten bewegen, mit Esc abbechen." Locate 20,55 Print "Taste drücken zum fortsetzen." WaitKey While Not KeyHit(1) ; Wenn Esc gedrückt wird........ Cls If KeyDown(200) ; Wenn Cursortaste 'nach oben' gedrückt ist y=y-1 EndIf If KeyDown(208) ; nach unten y=y+1 EndIf If KeyDown(203) ; nach links x=x-1 EndIf If KeyDown(205) ; nach rechts x=x+1 EndIf Rect x,y,10,10 ; Kasten malen Flip Wend ; ........ dann : End ; beenden. |
||
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Super ! Wenigstens können wir hier noch was lernen daraus ... Ich habe schon was gelernt: ![]() Code: [AUSKLAPPEN] While Not KeyHit(1) ; Wenn Esc gedrückt wird
Toni |
||
![]() |
Klip |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du die vorletzte Zeile des Codes betrachtet hättest wüsstest du, dass dieser Kommentar der erste Satzteil des Ganzen ist, der hinter "Wend" weiter geht... | ||
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
Jojo, mag schon sein. Aber für mich heißt das immer noch: Solange NICHT ESC gedrückt ist. Aber das ist ja nur Haarspalterei... Toni |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du das mal ins Deutsche übersetzen würdest käme das bei raus:
Solange nicht Taste 1 angeschlagen und nichtZitat: Wenn Esc gedrückt wird ![]() Edit: Ich sollte etwas schneller werden ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi.
lol, auf die 3 Minuten kommt es ja auch nicht mehr an ![]() Toni |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group