Wie kann ich Sprites automatisch bewegen lassen?

Previous topic - Next topic

Baggi

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

S.O.P.M.

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.
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Schranz0r

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
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

S.O.P.M.

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.
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

wangsi

@ 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!!!!

Schranz0r

lol, lob den mal net so viel, sonnst bekommt der noch nen höhenflug :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Baggi

Zu spät, hab den Höhenflug schon hinter mir ;) .