Hallo,
Ich habe ein Problem beim FPS Tutorial von Jojogames
(hier ganz unten http://www.yoyogames.com/make/tutorials )
Und zwar ist es da so, dass wenn man gegen eine Wand "läuft",
Dann bleibt man stehen.
Dass heißt, dass man nicht sehr nah an einer Wand entlang laufen kann,
da man sobald man die Wand auch nur streift nicht mehr weiterlaufen, sondern nur noch sich um 180 graht drehen
und zurücklaufen kann.
In dem Tutorial ist die kolision Spieler -Wand so gelöst:
{
x = xprevious;
y = yprevious;
if (abs(hspeed) >= abs(vspeed) && not place_meeting(x+hspeed,y,obj_wall_basic))
{ x += hspeed; exit;}
if (abs(vspeed) >= abs(hspeed) && not place_meeting(x,y+vspeed,obj_wall_basic))
{ y += vspeed; exit;}
speed = 0;
}
Wenn ich das richtig verstehe wird da einfach die Geschwindigkeit auf 0
gesetzt, sobald man die Wand berührt.
Wie muss ich das umformulieren damit der Spieler auch dicht an der Wand entlang laufen kann.
Ich habe ein Problem beim FPS Tutorial von Jojogames
(hier ganz unten http://www.yoyogames.com/make/tutorials )
Und zwar ist es da so, dass wenn man gegen eine Wand "läuft",
Dann bleibt man stehen.
Dass heißt, dass man nicht sehr nah an einer Wand entlang laufen kann,
da man sobald man die Wand auch nur streift nicht mehr weiterlaufen, sondern nur noch sich um 180 graht drehen
und zurücklaufen kann.
In dem Tutorial ist die kolision Spieler -Wand so gelöst:
{
x = xprevious;
y = yprevious;
if (abs(hspeed) >= abs(vspeed) && not place_meeting(x+hspeed,y,obj_wall_basic))
{ x += hspeed; exit;}
if (abs(vspeed) >= abs(hspeed) && not place_meeting(x,y+vspeed,obj_wall_basic))
{ y += vspeed; exit;}
speed = 0;
}
Wenn ich das richtig verstehe wird da einfach die Geschwindigkeit auf 0
gesetzt, sobald man die Wand berührt.
Wie muss ich das umformulieren damit der Spieler auch dicht an der Wand entlang laufen kann.