我在无尽的跑步者面前放置了尖刺。此外,如果我跳得更高但仍然超过尖峰,它会给我更少的分数。我该如何解决?
我有这段代码(在尖峰步骤事件中),只要我跳过它们就可以给我积分,但是当我只需要 1 分时它会给我 13 分。
if(collision_line(x, y, x, 0, obj_player, false, true)){
score += 1;
}
我在无尽的跑步者面前放置了尖刺。此外,如果我跳得更高但仍然超过尖峰,它会给我更少的分数。我该如何解决?
我有这段代码(在尖峰步骤事件中),只要我跳过它们就可以给我积分,但是当我只需要 1 分时它会给我 13 分。
if(collision_line(x, y, x, 0, obj_player, false, true)){
score += 1;
}
有很多方法可以做,但最简单的是无需大量更改代码:
if(noPointsYet && collision_line(x, y, x, 0, obj_player, false, true)){
score ++;
noPointsYet = true;
}
不要忘记noPointsYet = false;
在创建事件中设置。
当然还有更好的方法,例如将尖峰 x-pos 放入数组/队列并检查您是否已经使用上面的正确 y-pos 通过了它,使用 instance_place 进行检查,获取 ID 并检查您是否通过了它等。
你要做的是创建一个绿线的精灵,它是你房间的高度。然后创建一个新对象并取消选中“可见”框,将其命名为您喜欢的任何名称,作为您的游戏。在尖峰对象的创建事件中,您执行以下代码:
spike_line = instance_create(Your line object name here)
spike_line.x = obj_spike.x; // obj_spike is the name of your spike object
希望它有效。如果您发现任何错误,请发表评论。
这可能是因为玩家超过了 13 步的尖峰,因此获得了 13 分。
如果我是你,我会创建一个隐藏对象(一条长长的黑线)并将它们生成在与尖刺相同的位置。然后如果玩家与它发生碰撞,你给 1 分并摧毁隐形线。