Ich habe kürzlich eine nette Engine gefunden, welche eine super Kollisions-Abfrage hat. Credits gehen an Shaun Spalding.
Das Problem ist jetzt, ich möchte einen Walljump einbauen, sodass man auch von der Wand abspringen kann.
Ich komme aber mit der Engine nicht so wirklich klar und weiß nicht wie ich das umsetzen kann. Ein Versuch brachte mein Spieler "rutschend" in hohem Bogen über alle Wände.
Create Event:
Step Event:
Spoiler anzeigen
Alles anzeigen
Das Problem ist jetzt, ich möchte einen Walljump einbauen, sodass man auch von der Wand abspringen kann.
Ich komme aber mit der Engine nicht so wirklich klar und weiß nicht wie ich das umsetzen kann. Ein Versuch brachte mein Spieler "rutschend" in hohem Bogen über alle Wände.
Create Event:
Step Event:
GML-Quellcode
- //smooth the camera
- camera_movement();
- //Get the player's input
- key_right = keyboard_check(vk_right);
- key_left = -keyboard_check(vk_left);
- key_jump = keyboard_check_pressed(vk_space);
- //React to inputs
- move = key_left + key_right;
- hsp = move * movespeed;
- if (vsp < 10) vsp += grav;
- if (place_meeting(x,y+1,obj_wall))
- {
- vsp = key_jump * -jumpspeed
- }
- //Horizontal Collision
- if (place_meeting(x+hsp,y,obj_wall))
- {
- while(!place_meeting(x+sign(hsp),y,obj_wall))
- {
- x += sign(hsp);
- }
- hsp = 0;
- }
- x += hsp;
- //Vertical Collision
- if (place_meeting(x,y+vsp,obj_wall))
- {
- while(!place_meeting(x,y+sign(vsp),obj_wall))
- {
- y += sign(vsp);
- }
- vsp = 0;
- }
- y += vsp;