【问题标题】:Platforms for game游戏平台
【发布时间】:2017-03-27 12:10:43
【问题描述】:

我刚刚在 unity 和 Game maker 工作了两个月,所以我不太擅长。我有一个小问题。我有一个与主角发生冲突的平台,现在可以使用。但是如果我想添加两个或更多平台,游戏就会卡住。我现在在 Game Maker Studio 工作。

    //React to inputs
move = key_left + key_right;
hsp = move * movespeed;
if (vsp < 10) vsp += grav;

if (place_meeting(x,y+1,obj_platform) || place_meeting(x,y+1,obj_platform1)){
    vsp = key_jump * -jumpspeed;
}

//Horizontal collision
if (place_meeting(x+hsp,y,obj_platform) || place_meeting(x+hsp,y,obj_platform1)){
    while (!place_meeting(x+sign(hsp),y,obj_platform ) || place_meeting(x+sign(hsp),y,obj_platform1)){
        x += sign(hsp);
    }
    hsp = 0;
}
x += hsp;

//Vertical collision
if (place_meeting(x,y+vsp,obj_platform) || place_meeting(x,y+vsp,obj_platform1)){
    while (!place_meeting(x,y+sign(vsp),obj_platform ) || place_meeting(x,y+sign(vsp),obj_platform1)){
        y += sign(vsp);
    }
    vsp = 0;
}
y += vsp;

//Diagonal collision
if(place_meeting(x+hsp, y+vsp, obj_platform ) || place_meeting(x+hsp,y+vsp,obj_platform1)){
    while(!place_meeting(x+sign(hsp), y + sign(vsp),obj_platform ) || place_meeting(x+sign(hsp), y + sign(vsp),obj_platform1)){
        x+= sign(hsp);
        y+= sign(vsp);
    }
    hsp = 0;
    vsp = 0;
}

我没有看到我犯的错误,平台正常运行,但如果你跳到平台 1,整个游戏就会卡住。

提前致谢!

【问题讨论】:

    标签: java 2d platform game-maker


    【解决方案1】:

    它可能卡在 while 循环中。符号函数返回 1 表示正数,-1 表示负数,0 表示 0。

    如果 Game Maker 具有日志记录功能或某种控制台输出,请在 while 循环中编写一些内容。或者,如果它不尝试这样的事情:

    counter = 0;
    while(!place_meeting(x+sign(hsp), y + sign(vsp),obj_platform ) || place_meeting(x+sign(hsp), y + sign(vsp),obj_platform1)){
        counter+= 1;
        x+= sign(hsp);
        y+= sign(vsp);
        if (counter>100){
            //do something visible, for example teleport player.
        }
    }
    

    我知道这不是很有效的方法,但作为 GM,我记得在调试方面一直是一个糟糕的 IDE。

    【讨论】:

      猜你喜欢
      • 2015-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多