Ich habe diesen "magic-code"
obj_player, (teil vom step_event)
Alles anzeigen
und
obj_player, collision mit parent_block:
Alles anzeigen
(die blocks haben keinen code, sondern nur ein parent_block. Der entsprechende Code dafür ist im player_collision event)
Was ich machen möchte ist, dass der player 45° schräge Schrägen hochlaufen kann.
22,5° schräge Schrägen kann er laufen. Mit 45° grad mein ich schrägen so:

EDIT: Was ich noch sehr komisch finde, ist wenn ich diese Grafik transparent mache,und parent: parent_block, und dann davor laufe, ist es sozusagen viereckig, nur die Ecke oben rechts, ist unsichtbar.
Hier ist die gmk Datei:
->hier<-
Falls es nicht an den oben angegebenen Codes liegt, dass es nicht geht, dann bitte ich euch in der gmk zu gucken.
Vielen Dank im voraus!
mfg Timma
(hoffe mal ich habe jetzt nichts gefragt, was es schonmal gab, hab nämlich nichts in der SuFu gefunden)
obj_player, (teil vom step_event)
GML-Quellcode
- //this is the magic code, first it checks if the player can move to the right,
- //if not, then it will start looping to see if it can go to right with a pixel up..
- for(i=0;i<abs(wspeed);i+=0.5) {
- var st, st2; st = place_free(x,y+2); st2 = sign(wspeed)/2;
- if(!st && place_free(x+st2*0.6,y+2)) { x+=st2*0.6; y+=2; }
- else if(!st && place_free(x+st2*0.8,y+1)) { x+=st2*0.8; y+=1; }
- else if(place_free(x+st2,y)) { x+=st2; }
- else if(!st && place_free(x+st2*0.8,y-1)) { x+=st2*0.8; y-=1; }
- else if(!st && place_free(x+st2*0.6,y-2)) { x+=st2*0.6; y-=2; }
- else if(!st && place_free(x+st2*0.4,y-3)) { x+=st2*0.4; y-=3; }
- else break;
- }
und
obj_player, collision mit parent_block:
GML-Quellcode
- //if the collided object is solid perform actions
- if(other.solid == true) {
- //make the player contact solid
- if(vspeed < 0) move_contact_solid(90,5);
- else move_contact_solid(270,5);
- //set the vertical speed to 0, important!
- vspeed=0
- //if he has the jump sprite, we want him to show other sprites
- if(sprite_index == spr_jump_left) {
- if(wspeed = 0) sprite_index = spr_idle_left
- else sprite_index = spr_run_left
- } else if(sprite_index == spr_jump_right) {
- if(wspeed = 0) sprite_index = spr_idle_right
- else sprite_index = spr_run_right
- }
- }
(die blocks haben keinen code, sondern nur ein parent_block. Der entsprechende Code dafür ist im player_collision event)
Was ich machen möchte ist, dass der player 45° schräge Schrägen hochlaufen kann.
22,5° schräge Schrägen kann er laufen. Mit 45° grad mein ich schrägen so:

EDIT: Was ich noch sehr komisch finde, ist wenn ich diese Grafik transparent mache,und parent: parent_block, und dann davor laufe, ist es sozusagen viereckig, nur die Ecke oben rechts, ist unsichtbar.
Hier ist die gmk Datei:
->hier<-
Falls es nicht an den oben angegebenen Codes liegt, dass es nicht geht, dann bitte ich euch in der gmk zu gucken.
Vielen Dank im voraus!
mfg Timma
(hoffe mal ich habe jetzt nichts gefragt, was es schonmal gab, hab nämlich nichts in der SuFu gefunden)
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Timma ()