【问题标题】:How to fix a bug with 'image_xscale' in GameMaker Studio 2?如何修复 GameMaker Studio 2 中的“image_xscale”错误?
【发布时间】:2019-08-31 04:29:19
【问题描述】:

我在 GameMaker Studio 2 中制作游戏,但遇到了问题。当物体向左或向右转动时,他正在向前推。但他必须像第一次一样处于相同的位置。

我尝试使用此代码:

/// @description vaksciojimas
// You can write your code in this editor

key_right = keyboard_check(vk_right);
key_left = keyboard_check(vk_left);
key_jump = keyboard_check_pressed(vk_space);

var move = key_right - key_left;

hsp = move * walksp;

vsp = vsp + grv;

if (place_meeting(x,y+1,obj_wall)) && (key_jump) {
    vsp = -8;
}

//horizontaliai susiduria
if (place_meeting(x+hsp,y,obj_wall)) {
    while (!place_meeting(x+sign(hsp),y,obj_wall)) {
        x = x + sign(hsp);
    }
    hsp = 0;
}

x = x + hsp;

//vertikaliai susiduria
if (place_meeting(x,y+vsp,obj_wall)) {
    while (!place_meeting(x,y+sign(vsp),obj_wall)) {
        y = y + sign(vsp);
    }
    vsp = 0;
}

y = y + vsp;
//animacijos
if (!place_meeting(x,y+1,obj_wall)) {
    sprite_index = sprite_jumping_player;
    image_speed = 0;
    if (sign(vsp) > 0){
        image_index = 1;
    }
    else {
        image_index = 0;
    }
}
else {
    image_speed = 1;
    if (hsp == 0) {
        sprite_index = sprite_player;
    }
    else {
        sprite_index = sprite_runing_player;
    }
}
if (hsp != 0) { // hsp = horizontal speed
    image_xscale = sign(hsp);
}

当我这样做的时候,我正在看这个教程:https://www.youtube.com/watch?v=fCeyiEcWRAs&t=8s

【问题讨论】:

  • 你能解释一下“向前推进”吗?转身的时候还在动?我认为这与您的运动系统有关,而不是 image_xscale。除非你的意思是它没有很好地围绕它的原点转动,你需要将它设置在精灵的中心。
  • 如果你的位置有问题,我认为它与 image_xscale 没有任何关系,因为它所做的只是让玩家转身看另一个方向。请解释您的问题到底是什么,并在步骤中向我们展示更多代码
  • 所以,我的精灵在他转身时正在移动。当它转动时,它看向另一个方向(这可以),但它正在移动到另一个位置(向前几厘米,这不行)。我在问题中添加了更多代码。

标签: gml game-maker-language game-maker-studio-2


【解决方案1】:

从外观上看,我认为这与精灵的起源有关。

使用原点,您可以决定精灵的中心在哪里。此时它应该旋转/转身等。

您需要在精灵本身(不是精灵编辑器,只是精灵图像)中设置原点,因为默认情况下它设置在左上角。将其设置在中间中心是通常的方法。原点显示为“+”号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多