Я работаю над игрой с Gamemaker: Studio и столкнулся с немного раздражающей проблемой, когда спрайт игрока не меняется. Я хотел бы получить обратную связь как можно скорее. Справа «игрока», который не меняется, - spr_playerboom. Идея состоит в том, что тогда, когда игрок попадает на Z, спрайт изменится.Confusing Sprite не изменится
image_speed = 0.2;
var zpress = keyboard_check(ord('Z'));
var rkey = keyboard_check(vk_right);
var lkey = keyboard_check(vk_left);
var jkey = keyboard_check(vk_space);
if(zpress){
sprite_index = spr_playerboom;
}
//Check for ground
if(place_meeting(x, y+1, obj_floor)){
vspd = 0;
//Jumping
if(jkey){
vspd = -jspd;
}
} else {
//Gravity
if(vspd < 10){
vspd += grav;
}
}
//Moving right
if(rkey){
hspd = spd;
sprite_index = spr_playerwalkright;
}
//Moving left
if(lkey){
hspd = -spd;
sprite_index = spr_playerwalkleft;
}
//Check for not moving
if((!rkey && !lkey) || (rkey && lkey) || (!zpress)){
hspd = 0;
sprite_index = spr_playerstand;
}
//Horizontal Collision
if(place_meeting(x+hspd, y, obj_floor)){
while(!place_meeting(x+sign(hspd), y, obj_floor)){
x+=sign(hspd);
}
hspd = 0;
}
//Moving Horizontally
x += hspd;
//Vertical Collision
if(place_meeting(x, y+vspd, obj_floor)){
while(!place_meeting(x, y+sign(vspd), obj_floor)){
y+=sign(vspd);
}
vspd = 0;
}
//Moving Vertically
y += vspd;
Кто-нибудь готов помочь ? – Chemay