【发布时间】:2019-09-01 20:44:45
【问题描述】:
我正在使用 Gamemaker: Studio 开发一款游戏,并且遇到了一个令人讨厌的问题,即玩家的精灵没有改变。我希望尽快得到反馈。没有变化的“玩家”的精灵是 spr_playerboom。这个想法是,当玩家点击 Z 时,精灵会发生变化。
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;
【问题讨论】:
-
有人可以帮忙吗?
标签: sprite game-maker