GLBasic forum

Other languages => GLBasic - de => Topic started by: wangsi on 2007-Aug-01

Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
Hallo
Wie kann ich sprites zum beispiel von rechts nach links laufen lassen?
Also automatisch?
Gruss Marc
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-01
Code (glbasic) Select
LOADSPRITE "Ball.png",1

WHILE TRUE

    X = X + 1  // Von links nach rechts
    Y = 100 // Höhe von oberen Rand bis Linke Ecke Sprite

    Sprite 1,X,Y

SHOWSCREEN
WEND
END
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
LOADBMP "dschungel.bmp"
SHOWSCREEN
MOUSEWAIT
PRINT "SNIPER 2X", 60, 20
SHOWSCREEN
MOUSEWAIT
LOADSPRITE "feind.bmp", 1
WHILE TRUE
X = X + 1  // Von links nach rechts
Y = 100 // Höhe von oberen Rand bis Linke Ecke Sprite
SPRITE 1,X,Y
WEND
PRINT "SNIPER 2X", 60, 20
SHOWSCREEN
MOUSEWAIT
LOADSOUND "monkey2.wav", 0, 4 // 4
PLAYSOUND (0, 0, 1)
MOUSEWAIT

da stürzt bei mir alles ab?
Habe ich was flasch gemacht?
Gruss
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kosta on 2007-Aug-01
hi,


du musst eine Endlosschleife machen und darin läuft dann alles ab.... (in deinem Beispiel bleibst du in der While true Schleife hängen ohne rauszukommen)

-->

also erstmal (ausserhalb der Endlosschleife).....ladest du erstmal alles (Bilder, Sounds, usw)...

dann fängt deineHauptschleife (WHILE TRUE) die daurnd läuft, an...

und kurz vor Schleifenende (WEND) ein SHOWSCREEN  (du brauchst nur ein Showscreen)

und alles was im Spiel passiert (Sprites zeichnen, bewegen, Tasten abfragen, usw.... machst du alles innerhalb dieser Schleife (ohne extra Showscreens)



...so wie es ShranzOr beschrieben hat..
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-01
Der Absturz kommt wegen dek kaputen WAV file. Ich hab den Fehler behoben, aber Du musst ein PCM wav Format machen. Dieses WAV ist komprimiert (mit MP3).
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
LOADBMP "dschungel.bmp"
PRINT "SNIPER 2X", 60, 20
LOADSPRITE "feind.bmp", 1
LOADSOUND "monkey2.wav", 0, 1
WHILE TRUE
X = X + 1  // Von links nach rechts
Y = 50 // Höhe von oberen Rand bis Linke Ecke Sprite
SPRITE 1,X,Y
PRINT "SNIPER 2X", 60, 20
SHOWSCREEN
PLAYSOUND (0, 0, 1)
WEND
END


Ok habe angepasst, auf windows spielt es wunderbar ab, auf dem Gp2x läuft es aber sound ist sehr verzerrt. Irgendeine Idee woran das liegen könnte?
edit : mir ist noch aufgefallen auf gp2x ist ein arm (von einem Pic) anstatt schwarz dursichtig.

Grüsse
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: superfish on 2007-Aug-01
Hi Wangsi,

hm.......ich nehme mal an, das das kein direktes Problem im Code ist (ausser vieleicht die Lautstärke). eher würde ich sagen, das deine Sounds
evt. Übersteuert sind. bzw. in einigen Teile des Files sehr hohe Pegelspitzen aufweisen. Ich kenne allerdings den Gp2x nicht, aber nehme mal an, das die Lautsprecher in diesem Gerät auch eher mittelmässig sind. (z.b sind bei Headsets die Micros immer sehr auf die Stimmen zugeschnitten, haben also eine Frequenzbereich, der auf Stimmen angepasst ist)

Schau Dir deine "*.wav" mal genauer an, z.b mit Wavelab oder...........http://audacity.sourceforge.net/     da gibt es einen kleinen Audio Editor for Free, der gar nicht so schlecht ist ;)

Hoffe das hilft Dir

Saludos Superfish
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
hmm der gp2x hat zwar nicht die besten lautsprecher aber schlecht sind sie auf keinen fall.
Und eben das problem dass die Farbe schwarz (nicht pink für transparent) auch transparent ist beim einem bild.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-01
Der sound wird jede Schleife durchgespielt, so ist das falsch!


Setze einen Timer!
Code (glbasic) Select
WHILE TRUE

// Dein Code von vorher....

IF Timer < GETTIMERALL()
    PLAYSOUND(0,0,1)
    Timer = GETTIMERALL()+5000 // 5 Sekunden abstand !
ENDIF

SHOWSCREEN
WEND
END
Drücke doch bitte mal F1, und mach das Tutorial durch!
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
jop jetzt ist auch beim gp2x der sound klar.
Thx
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-01
;) kein Problem
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
was ich noch fragen wollte wie habt ihr das alles gelernt z.b. sprites steuern u.s.w. davon habe ich im hilfe menu nichts gefunden.
grüse
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-01
Da ist ein Tutorial drine!
Aber die meisten die herkommen, kennen sich schon in einer Programmiersprache aus.
Grundlegende sachen sind in allen Prpgrammiersprachen relativ gleich.
Aber wenn du fragen hast, Frag ruhig!
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
Danke vielmal ich hoffe einfach dass ich keinem auf die nerven gehe :-)

Was ich noch nicht weiss wie ich das geladene sprite mit steuerbefehlen bestücken kann.
Also mein Sprite sollte auf dem screen 320*240 (gp2x) mit hoch, runter, rechts, links, (keycodes kenne ich) steuerbar sein. Vielen Dank für eure Zeit und Antworten.
Greets Marc.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-01
So hier mal eine Anregung, um mal deinen Lernwillen an zu stacheln :D

PSEUDOCODE:
Code (glbasic) Select
If KEY(bla bla....)  // Keycodes kennst ja
    X = X+1   // nach rechts, bei links dann ein Minus !
ENDIF
brauchst du Quasi 4 mal das ganze für alle Richtungen 1x
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-01
GP2X Transparenz mit schwarz ist ein Bug - muss ich ändern.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-01
Juhu es geht und y steht für rauf runter.
Jetzt kann ich das fadenkreuz in alle richtungen bewegen.

Dann kann ich viele andere befehle geben? z.b.   :

IF KEY (blabla)
PLAYSOUND  "bla.wav" <------ wieder probleme gp2x(rauschen) aber muss doch in der schlaufe sein?
ENDIF

PS Frage Am Rande : Kennt ihr ne website mit freien Game grafiken?
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: superfish on 2007-Aug-01
oh, Sorry, dann hatte ich Dich vorhin etwas Falsch verstanden.

Aber der Free Wave Editor ist trotzdem ganz gut ;)

Die F1 Taste sowieso, geht auch nicht ohne ;)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: BumbleBee on 2007-Aug-01
Quote from: wangsiKennt ihr ne website mit freien Game grafiken?
Schau mal hier:
   http://reinerstileset.4players.de/index.html
Da ist bestimmt was für dich dabei.:)

Cheers
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-02
Bei IF KEY(xxx) THEN PLAYSOUND()
wird der Sound ja jedesmal gestartet, wenn die Taste gedrückt ist.
Also, erstmal abchecken, ob die Taste wieder losgelassen wurde bevor Du es erlaubst, dass der Tastendruck einen Sound macht.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-02
Wie Prüfe ich ob die Taste  losgelassen wird ?
So?
Code (glbasic) Select
IF KEY (30)
IF KEY (30=0)
PLAYSOUND (blabla)
ENDIF
ENDIF
Hier der Code:
Code (glbasic) Select
SETSCREEN 320,240,0
LOADBMP "dschungel.bmp"
LOADSPRITE "feind.bmp", 0
PRINT "SNIPER 2X", 60, 20
LOADSPRITE "fadenkreuz.bmp", 1
LOADSOUND "schrei.wav", 1, 1 //4
WHILE TRUE
SPRITE 1, X, Y
SPRITE 0, 60, 60
IF KEY (30)
IF SPRCOLL (1, X, Y, 0, 60, 60)
PRINT "getroffen", 50, 50
PLAYSOUND (1, 0, 1)
ENDIF
ENDIF  
IF KEY (205)
X = X+1
ENDIF
IF KEY (203)
X = X-1
ENDIF
IF KEY (208)
Y = Y+1
ENDIF
IF KEY (200)
Y = Y-1
ENDIF
PRINT "SNIPER 2X", 60, 20
SHOWSCREEN
WEND
END
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-02
Hmm Gegner saust jetzt mit 200 kmh durchs spielfeld ich nehme an wieder ein schlaufenproblem?
WHILE TRUE
SPRITE 1, X, Y
SPRITE 0, X0, Y0
X0 = RND(320)
Y0 = RND(240)
IF KEY (30)
IF SPRCOLL (1, X, Y, 0, 60, 60)
PRINT "getroffen", 50, 50
PLAYSOUND (1, 0, 1)
ENDIF
ENDIF
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: S.O.P.M. on 2007-Aug-02
QuoteWie Prüfe ich ob die Taste losgelassen wird?
IF KEY(xx) = 0 ...

Wenn die Abfrage der entsprechenden Taste 0 ergibt, ist sie ja nicht gedrückt, bzw. wurde wieder losgelassen.

Um damit jetzt eine Keyabfrage zu machen, die registriert, ob die Taste einmal gedrückt und wieder losgelassen wird, brauchst du eine Hilfsvariable, in der du den Status speicherst:

IF KEY(xx) THEN
   IF KeyState = 0
      KeyState = 1
      ...
      [hier die Aktion, die passieren soll]
      ...
   ENDIF
ELSE
   KeyState = 0
ENDIF

Hiermit wird sichergestellt, dass auf das Drücken der entsprechenden Taste erst eine Aktion ausgeführt wird, wenn diese vorher nicht gedrückt war. Die Variable KeyState (du kannst sie natürlich anders nennen) muss den Wert 0 haben, damit auf den Tastendruck reagiert wird. Ist dies der Fall, wird ihr der Wert 1 zugewiesen. Erst, wenn die Taste wieder losgelassen wurde, nimmt sie wieder den Wert 0 an. Probier's mal aus, sollte funktionieren!
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: S.O.P.M. on 2007-Aug-02
wangsi, schreibst du deinen Code nur hier in den Posts so ungegliedert? Du musst unbedingt die Zeilen einrücken, sonst verlierst du den Überblick im Nu. Selbst wenn du hier Code postest, wäre es hilfreich, wenn du die Zeilen bitte etwas einrücken würdest. Ich habe das mal für deinen Beispielcode gemacht:

SETSCREEN 320, 240, 0
LIMITFPS 40
LOADBMP "dschungel.bmp"
LOADSPRITE "feind.bmp", 0
PRINT "SNIPER 2X", 60, 20
LOADSPRITE "fadenkreuz.bmp", 1
LOADSOUND "schrei.wav", 1, 1 //4
WHILE TRUE
   SPRITE 1, X, Y
   SPRITE 0, 60, 60
   IF KEY (30)
      IF SPRCOLL (1, X, Y, 0, 60, 60)
         PRINT "getroffen", 50, 50
         PLAYSOUND (1, 0, 1)
      ENDIF
   ENDIF  
   IF KEY (205)
      X = X + 1
   ELSEIF KEY (203)
      X = X - 1
   ELSEIF KEY (208)
      Y = Y + 1
   ELSEIF KEY (200)
      Y = Y - 1
   ENDIF
   PRINT "SNIPER 2X", 60, 20
   SHOWSCREEN
WEND
END  //wird nicht benötigt!

Ich habe den Code auch mal leicht verändert und einen zusätzlichen Befehl am Anfang eingebaut: LIMITFPS. Damit begrenzt du, wie oft der Befehl SHOWSCREEN pro Sekunde den Bildschirminhalt aktualisiert. Dann läuft es auch nicht mehr so schnell.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: BumbleBee on 2007-Aug-02
Hi wangsi

1.Zu deiner "Tasten wieder loslassen" Frage. Schau mal hier durchs Forum da gab's
  schon jede Menge Beispiele. Aber hier nochmal für dich. So kannst du's auch machen.
Code (glbasic) Select
 //In Push speicherst du ab ob schon gedrückt wurde oder nicht
Push=FALSE

               //Loop
WHILE TRUE

       //Taste gedrückt und Push=False --> dann Push=True
IF KEY (30) AND Push=FALSE
  Push=TRUE
  PLAYSOUND (1, 0, 1)
ENDIF
 
      //Taste nicht gedrückt -> Push wieder auf False
IF KEY(30)=FALSE THEN Push=FALSE

SHOWSCREEN
WEND
Jetzt mußt du die Taste wieder loslassen und wieder drücken um den Sound abzuspielen.
2.Wenn's zu schnell läuft hau die Bremse rein. Fang mal mit LIMITFPS 30 (siehe Hilfe :D) an dann läufts   nicht  so schnell. Für Zeitgesteuerte Bewegung gibt's hier auch einige Beispiele.
3.Bitte code tag benutzen wenn du hier Code reinpostest.:D


Cheers
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-02
...und bitte [ code ] ... [ / code ] verwenden (die code klammern zusammenschreiben)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-02
@ Gernot:

Geiles Avatar :D
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-02
Roger Hargraves Style. Hier mehr (http://www.libri.de/shop/action/productDetails/4298798/roger_hargreaves_mr_messy_0843174218.html)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-02
Jow gut getroffen den Still :)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Antidote on 2007-Aug-02
@Mr. GLBASIC
Hat Deine Tochter (Tochter ist richtig....???) gerade English in der Schule???
Kann mich gut daran erinnern, als ich die Heftchen dran hatte :)War Lustig

(sorry für ot .. musste sein :)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-02
bin gerade an einem jamaicat clone schreiben.....
Ich werd wahnsinnig wie viel Arbeit hinter so einem kleinen SPiel steckt...
WAHNSINN.
Respekt an alle Proger.

Edit jetzt weiss ich bald nicht mehr was oben und unten ist....

edit : und jetzt noch problem :

IF levelgeschafft=1
 GOSUB nextlevel   <------------------- command not inside function or sub

dabei habe ich die Sub nextlevel schon gemacht und abgeschlossen.
??
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: HeikoJ on 2007-Aug-03
Hallo Wangsi,

so sollte es eigentilch gehen :

....
IF levelgeschafft=1 THEN GOSUB nextlevel  
.....
SUB nextlevel:
.......
ENDSUB
.....

1. beim IF das THEN vergessen ???
2. bei SUB an den Doppelpunkt hinter den Namen gedacht ???
3. ENDSUB vergessen ???

Überprüfe das mal.

Gruß Heiko
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-03
Meine Tochter lernt gerade lesen ;)
@wangsi - poste mehr code, wenn's  nicht geht. Aber es smuss sein:
SUB nextlevel:
...
ENDSUB
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-03
Und ENDIF nicht vergessen !

Und benutze bitte CodeTag!! (code) HIER DER CODE (/code) <--- Nur mit Eckigen Klammern !!
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-03
ok
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-03
Code (glbasic) Select
IF levelgeschafft=1 THEN GOSUB nextlevel
ENDIF

IF levelz>=6 THEN GOSUB gewonnen
 GOTO neustart
  ENDIF

GLOBAL xpos=100
GLOBAL ypos=100
GLOBAL scrollx=-160
GLOBAL scrolly=-112
GLOBAL flaggea=0
GLOBAL flaggeb=0
GLOBAL flaggec=0
GLOBAL flagged=0
GLOBAL flaggee=0
GLOBAL flaggef=0
GLOBAL flaggeg=0
GLOBAL flaggeh=0
GLOBAL flaggei=0
GLOBAL gegner2x=50
GLOBAL gegner2y=50
GLOBAL gegner2startschalter=0
GLOBAL gegner1coll=0
GLOBAL gegner2coll=0
GLOBAL gegner3coll=0
GLOBAL geschnappt=0




// ------------------------------------------------------------- //
// -=#  NEXTLEVEL  #=-
// ------------------------------------------------------------- //
SUB nextlevel:

feld[6][1]=2
feld[13][1]=2
feld[20][1]=2

feld[6][14]=2
feld[13][14]=2
feld[20][14]=2

feld[6][28]=2
feld[13][28]=2
feld[20][28]=2

levelgeschafft=0
levelz=levelz+1
gegner2aktiv=gegner2aktiv+1
anzahlgegner3=anzahlgegner3+1

IF anzahlgegner3>=2
 anzahlgegner3=2
  ENDIF

IF levelz>=6
 RETURN
  ENDIF

nextlevelmarke:

PRINT "level" + " " + levelz ,50, 50
PRINT "Weiter mit X" 45, 45

SHOWSCREEN

///////////////////////

IF KEY(29)=1
 schalter=1
  ENDIF

IF KEY(29)=0 AND schalter=1
 schalter=0
  RETURN
   ENDIF

 /////////////////////

 GOTO nextlevelmarke



ENDSUB // NEXTLEVEL
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-03
Entweder:
IF ... THEN ...
_oder_
IF
 ...
ENDIF
Aber nicht THEN und ENDIF.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-03
code [IF levelgeschafft=1  
 GOSUB nextlevel
  ENDIF
IF levelz>=6  
 GOSUB gewonnen
  GOTO neustart
   ENDIF]

hmm geht net...
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: HeikoJ on 2007-Aug-03
Hallo Wangsi,

nochmals entweder :

if a=b then anweisung

oder

if a = b
  anweisung 1
  anweisung 2
  ....
endif

gruß Heiko
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-03
wangsi: [ code ] ... [ / code ]
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-03
OT: LOL, sehr geiler Thread, macht spass zu lesen :D
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kosta on 2007-Aug-03
Quote from: HeikoJHallo Wangsi,

nochmals entweder :

if a=b then anweisung

oder

if a = b
  anweisung 1
  anweisung 2
  ....
endif

gruß Heiko
@Wangsi,

Im Prinzip: hast du nur eine Anweisung/Befehl nach dem THEN schreibst du's rein, wenn mehrere Anweisungen/Befehle im Then Zweig folgen sollen...lässt du das THEN weg...
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: S.O.P.M. on 2007-Aug-03
Alsooo, um mal auf den eigentlichen Titel dieses Threads zurückzukommen: die einfachste Lösung stellt dann schließlich doch der Befehl AUTOMOVE dar. Einfach AUTOMOVE SpriteNr irgendwo in den Code reinknallen und dein Sprite bewegt sich automatisch, wie du es gerne möchtest.

Sorry, für den kleinen Scherz am Rande, is natürlich net bös' gemeint ;)
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-04
man darf die tolle function hier auch nicht vergessen:

Code (glbasic) Select
WHILE TRUE

    MAKE_JUMP&RUN(Besser_als_SuperMario)

SHOWSCREEN
WEND
END
Sorry konnts mir nicht verkneifen :D
*SelbsAufDieFingerHau!*
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Kitty Hello on 2007-Aug-04
Najam ich kapier schon was er meint. Mit einem Klick&Play Baukasten kann man ein Sprite leichter bewegen, als mit GLBasic. Wenn man dann aber mehr machen möchte ist halt schnell Schicht im Schacht.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Baggi on 2007-Aug-04
Hi wangsi,

freut mich, dass du an einem Jamaicat Clone arbeitest. Das war mein erstes Spiel mit GLBasic bzw. damals noch DiNGS. Es ist total simpel, aber ich kann mich noch erinnern, dass ich echt ewig dafür gebraucht habe und der Code sah dann auch total schäbig aus.

Ich hab später nochmal einen Jamaicat Clone ordentlich programmiert und ein Tutorial dazu geschrieben. Vielleicht kann dir das helfen.

http://www.glbasic.com/forum/viewtopic.php?id=776

Viel Spaß weiterhin,
Baggi
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: S.O.P.M. on 2007-Aug-04
Okay, beiseite wieder mit dem ganzen Spaß. Mich hat dieser Thread doch tatsächlich zu der verrückten Idee gebracht, wie man ein Objekt (ein Sprite eben) ganz ohne das Abfragen irgendwelcher Werte mit den Cursortasten steuern könnte.

Code (glbasic) Select
DIMDATA KeyCode[], 200, 203, 205, 208
DIM Direction[4]
GLOBAL X, Y

WHILE KEY(1) = 0
FOR i = 0 TO 3
Direction[i] = KEY(KeyCode[i])
NEXT
DEC Y, Direction[0]
DEC X, Direction[1]
INC X, Direction[2]
INC Y, Direction[3]
FILLRECT X, Y, X + 20, Y + 20, 0xffffff
SHOWSCREEN
WEND
Das weiße Viereck könnte jetzt problemlos gegen ein Sprite getauscht werden. Ihr werdet euch nun fragen, welchen Sinn das haben soll! Mir kam die Idee halt und ich konnte nicht davon lassen, sie hier mal zu posten.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-04
mit Speedangabe wärs noch schöner:

Code (glbasic) Select
DIMDATA KeyCode[], 200, 203, 205, 208
DIM Direction[4]
GLOBAL X, Y
GLOBAL Speed = 5

WHILE KEY(1) = 0
    FOR i = 0 TO 3
        Direction[i] = KEY(KeyCode[i])
    NEXT
    DEC Y, Direction[0]*Speed
    DEC X, Direction[1]*Speed
    INC X, Direction[2]*Speed
    INC Y, Direction[3]*Speed
    FILLRECT X, Y, X + 20, Y + 20, 0xffffff
    SHOWSCREEN
WEND
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: S.O.P.M. on 2007-Aug-04
Jepp, sehr schön :) Bestimmt könnte man diesen Code noch ein Stückchen kürzer kriegen aber das würde wohl hier zu weit führen. Das muss bei den Codeschnipseln rein.
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-04
jow machs doch reiin :D
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: wangsi on 2007-Aug-04
@ baggi  
Ja nach dieser Anleitung mache ich das Spiel.
Ich kopiere die Codes nicht da ich sonst nix lerne
das heisst lese sie und versuche sie zu verstehen was meistens auch klappt...meistens ----> Hirnzelen glühen.
Was mir aufgefallen ist den Codes ist wirklich nichts dem Zufall überlassen alles auf wenn
und aber vorgeschrieben und überprüft wird. Somit 100 prozent bugfrei.
Respekt.
Danke vielmals für dieses Tutorial!!!!
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Schranz0r on 2007-Aug-04
lol, lob den mal net so viel, sonnst bekommt der noch nen höhenflug :D
Title: Wie kann ich Sprites automatisch bewegen lassen?
Post by: Baggi on 2007-Aug-05
Zu spät, hab den Höhenflug schon hinter mir ;) .