Hallo zusammen.. hab wieder einmal ein Problem
also.. ich will ein Jumpn Run Spiel machen bei dem der Char mit dem Land (Tilesets) kollidiert. Das ganze funktioniert auch perfekt.. (mit vspeed und so).. nur mit der gravity nicht warscheinlich ein denkfehler... das genaue problem ist das der "dummy" nicht pixelgenau exakt am richtigen Punkt stehen bleibt. mal ist er ein Pixel im Tileset versunken, mal ein drüber..
hier der Code der im Step Event aufgerufen wird :
Alles anzeigen
jaja ich weiss .. chaoscode
das ist auch im step event drin.. das ganze kann man ja noch optimieren.. aber es geht erstmal ums grundlegende beim jumpn run..
Alles anzeigen
irgendwo hier muss der wurm sein :-/
also.. ich will ein Jumpn Run Spiel machen bei dem der Char mit dem Land (Tilesets) kollidiert. Das ganze funktioniert auch perfekt.. (mit vspeed und so).. nur mit der gravity nicht warscheinlich ein denkfehler... das genaue problem ist das der "dummy" nicht pixelgenau exakt am richtigen Punkt stehen bleibt. mal ist er ein Pixel im Tileset versunken, mal ein drüber..
hier der Code der im Step Event aufgerufen wird :
GML-Quellcode
- // Untere linie überprüfen ob eine Tilekollision besteht ( 15*28 groß )
- if tile_layer_find(10,x,y+28)
- or tile_layer_find(10,x+1,y+28)
- or tile_layer_find(10,x+2,y+28)
- or tile_layer_find(10,x+3,y+28)
- or tile_layer_find(10,x+4,y+28)
- or tile_layer_find(10,x+5,y+28)
- or tile_layer_find(10,x+6,y+28)
- or tile_layer_find(10,x+7,y+28)
- or tile_layer_find(10,x+8,y+28)
- or tile_layer_find(10,x+9,y+28)
- or tile_layer_find(10,x+10,y+28)
- or tile_layer_find(10,x+11,y+28)
- or tile_layer_find(10,x+12,y+28)
- or tile_layer_find(10,x+13,y+28)
- or tile_layer_find(10,x+14,y+28)
- {
- vspeed=0;
- gravity=0;
- }
- else gravity=0.01 gravity_direction=270;
jaja ich weiss .. chaoscode
das ist auch im step event drin.. das ganze kann man ja noch optimieren.. aber es geht erstmal ums grundlegende beim jumpn run..
GML-Quellcode
- // Wenn eine Taste gedrückt wird, wird der Wert jump auf 1 gesetzt
- if keyboard_check_pressed(vk_up) and vspeed=0
- {
- jump=1;
- }
- // Ist der Wert jump größer als 0 wird vspeed auf -1 gesetzt.. also der dummy geht nach oben.. springen wird simuliert
- if jump > 0
- {
- vspeed=-1
- jump=jump+1
- }
- // ist der wert jump größer als 2 wird er zurück gesetzt.. das springen ist somit zuende
- if jump > 2
- {
- jump=0;
- }
irgendwo hier muss der wurm sein :-/