我正在GMS 2中进行2D平台游戏,当我按下应该让他改变为拍摄和蹲伏姿势的按钮时,我的播放器对象不会改变精灵。我曾尝试将不同的姿势放入不同的精灵中,并将姿势放入同一精灵中的不同帧中。这些解决方案都没有工作,我有点绝望的一些帮助。对象不会改变精灵
目前的姿态是在单独的精灵和代码如下所示:
// Movement
key_right = keyboard_check(ord(“D”))
key_left = keyboard_check(ord(“A”))
key_jump = keyboard_check(ord(“W”))
key_crouch = keyboard_check(ord(“S”)) // This button doesn’t work
// Attacks
key_shoot = keyboard_check(vk_space) // Neither does this one
key_punch = keyboard_check(ord(“J”))
key_kick = keyboard_check(ord(“K”))
...
if (!key_left) and (!key_right) {
sprite_index = spr_player_stand
image_speed = 0
image_index = 0
} else if (key_left) and (key_right) {
sprite_index = spr_player_stand
image_speed = 0
image_index = 0
} else if (key_left) {
xscale = -0.6
sprite_index = spr_player_run
} else if (key_right) {
xscale = 0.6
sprite_index = spr_player_run
} else if (key_crouch) {
sprite_index = spr_player_crouch
} else if (key_shoot) {
sprite_index = spr_player_shoot
} else if (key_punch) {
sprite_index = spr_player_punch
} else if (key_kick) {
sprite_index = spr_player_kick
}
附:请不要纠正我在线路末尾缺少的“;”。我知道这是一个坏习惯,我知道我正在这样做,所以不要打扰我告诉我要阻止它。
此外,我没有把“;”放在声明的最后是因为这是我学到的第一种语言,建议我这样做。 – Shock9616
这是一个加号,为什么你应该尝试总是把它,所以当你切换到另一种语言如java例如(我建议你尝试一下,因为很容易学习和面向对象) –
好的。感谢您的输入! – Shock9616