hallo
also ich wollte einen enemy machen der den player verfolgt wenn er in der nähe ist und das funktioniert auch...dann hab ich noch gemacht das wenn man auf ihn raufspringt das der player in die höhe springt...und wenn man in den enemy reinläuft dann wird man weggestossen und springt auch teilweise....jetzt hab ich probleme und zwar wollte ich wenn man raufspringt auf den enemy das der sein sprite zu platt wechselt....und wenn man ein 2tes mal raufspringt sollte er zum sprite dead wechseln....jedoch funktioniert es nicht...hier mal mein code
step event enemy
Alles anzeigen
wollte eigentlich den selben code nochmal nehmen nur mit diesen unterschieden :
Alles anzeigen
bitte um hilfe zurzeit ist es so das er ganz kurz das sprite wechselt zum hit sprite aber beim 2ten raufspringen ändert sich nichts.
also ich wollte einen enemy machen der den player verfolgt wenn er in der nähe ist und das funktioniert auch...dann hab ich noch gemacht das wenn man auf ihn raufspringt das der player in die höhe springt...und wenn man in den enemy reinläuft dann wird man weggestossen und springt auch teilweise....jetzt hab ich probleme und zwar wollte ich wenn man raufspringt auf den enemy das der sein sprite zu platt wechselt....und wenn man ein 2tes mal raufspringt sollte er zum sprite dead wechseln....jedoch funktioniert es nicht...hier mal mein code
step event enemy
GML-Quellcode
- if point_distance(x,y,obj_player.x,obj_player.y)< 200
- {
- move_towards_point(obj_player.x,obj_player.y+26,spd);
- Estate = "run"; // sprite fürs rennen
- vspeed = 0;
- }
- if point_distance(x,y,obj_player.x,obj_player.y)> 250
- {
- speed = 0;
- }
- if place_meeting(x,y,obj_player)&& (getroffen == 0) //getroffen wollte ich benutzen für die abfrage ob er das 1te oder 2te mal raufspringt
- {
- if (obj_player.y < y-30)
- {
- with (obj_player)
- {
- vspeed = -jspd;
- }
- Estate = "hit"; // für die sprite steuerung.habe ein switch wo die cases alle sind...wenn er das erste mal raufspringt soll er zum platten also hit sprite wechseln
- getroffen = 1;
- }
- else if (facing == "left") // facing ist für die steuerung ob er nach links oder rechts geht
- {
- global.playerlive -=1;
- with (obj_player)
- {
- hspeed = -kontakt;
- vspeed = -jspd;
- }
- }
- else
- {
- global.playerlive -=1;
- with (obj_player)
- {
- hspeed = kontakt; // ist eine zahl (156)
- vspeed = -jspd; // ist 12
- }
- }
- }
wollte eigentlich den selben code nochmal nehmen nur mit diesen unterschieden :
GML-Quellcode
- if place_meeting(x,y,obj_player)&& (getroffen == 1) //hier die variable abfragen ob sie 1 ist
- {
- if (obj_player.y < y-30)
- {
- with (obj_player)
- {
- vspeed = -jspd;
- }
- Estate = "dead"; // wenn getroffen 1 dann sprite dead
- getroffen = 0;
- time = 180; // kleinen alarm
- time--;
- if (time <= 0) // wenn der alarm durch ist soll der enemy zerstört werden
- {
- instance_destroy();
- }
- }
- else if (facing == "left") // facing ist für die steuerung ob er nach links oder rechts geht
- {
- global.playerlive -=1;
- with (obj_player)
- {
- hspeed = -kontakt;
- vspeed = -jspd;
- }
- }
- else
- {
- global.playerlive -=1;
- with (obj_player)
- {
- hspeed = kontakt; // ist eine zahl (156)
- vspeed = -jspd; // ist 12
- }
- }
- }
bitte um hilfe zurzeit ist es so das er ganz kurz das sprite wechselt zum hit sprite aber beim 2ten raufspringen ändert sich nichts.