Erläuterung Animierte Sprites Bsp. Jumpkid

Previous topic - Next topic

x-tra

Wäre jemand so lieb und würde mir das unten stehende Code Schnippselchen erklären?

So im Groben versteh ich es ja, komm aber immer wieder durcheinander, oder es ist einfach schon zu spät/früh heut, grins.


Vorallem der Teil mit dem Jump is wohl zuviel um diese Zeit, und Kaffee is auch schon wieder leer.
Code (glbasic) Select
FUNCTION update:


IF dir=0 //Standbild-links
top=10
bot=10
ELSE     //Standbild-rechts
top=0
bot=0
ENDIF



IF KEY(vk_right) = 1
dir = 1     //rechts
bot = 0     //start
top = 3     //end
speed = 2   //bewegungs-speed
ENDIF

IF KEY(vk_left) = 1
dir = 0    //links
bot = 10   //start
top = 13   //end
speed = -2 //bewegungs-speed
ENDIF

IF allowjump = 1
IF dir = 0
bot = 14
top = 14
ELSE
bot = 4
top = 4
ENDIF

y=y-4

IF KEY(vk_space) = 1
jtimer=jtimer+1
ELSE
jtimer = maxjumptimer+1
ENDIF

ENDIF

IF jtimer > maxjumptimer
allowjump=0
jtimer = 0
ENDIF

IF KEY(vk_space)=1 AND releasexfirst = 0 AND if_Jump = 0
  allowjump = 1
releasexfirst = 1
if_Jump = 1
ENDIF

IF KEY(vk_space)=0
releasexfirst = 0
ENDIF

x=x+speed
speed = 0
animsprite(bot,top,8,x,y)
ENDFUNCTION // Update

Schranz0r

Nagut dann will ich mal :D


Code (glbasic) Select
dir     = direction Sprich die Richtung
bot    = Anfangsbild der Animation(bottom)
top    = Endbild der Animation
speed = erklärt sich ja selbst :D

IF allowjump = 1   // wenn sprung erlaubt
    IF dir = 0        // wenn richtung links
        bot = 14    // Anfangsbild der "Animation"
        top = 14    // Endbild ist das gleiche da keine Animation
    ELSE             // wenn Richtung rechts dann
        bot = 4     // anfangsbild
        top = 4     // Endbild
    ENDIF

IF KEY(vk_space) = 1
    jtimer=jtimer+1    //solange Space gedrückt dann höhe erhöhen
ELSE
    jtimer = maxjumptimer+1 // umd den Jumptimer wieder zu erlauben glaub ich KA mehr!
ENDIF

ENDIF

IF jtimer > maxjumptimer
allowjump=0    
jtimer = 0
ENDIF
Das mit dem Jump könnte man aber noch schöner lösen wie ich finde, war meine anfangs zeit in der Programmierung und GLB...

Den Rest weis ich leider nicht mehr, bin ja uch selbst schuld!
Weist du was ich mach mal ein neues Tutorial mit schöner Beschreibung dazu !


Grüße
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

Kitty Hello


Schranz0r

Ja,  mach ich Morgen, meine bessere Hälfte hat heute geburtstag.
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

Kitty Hello

Feiert schön. Frauen sind wichtiger als Code. Im Ernst.

x-tra

Jo sag deiner besseren Hälfte alles gut zum Geburtstag.

Danke schonmal für Deine Mühe.

Schranz0r

Jo schon übermittelt! und Danke :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