【发布时间】:2014-04-19 17:12:37
【问题描述】:
我在无尽的跑步者面前放置了尖刺。此外,如果我跳得更高但仍然超过尖峰,它会给我更少的分数。我该如何解决这个问题?
我有这段代码(在尖峰步骤事件中),它允许每当我跳过它们时给我分,但当我只需要 1 分时它给我 13 分。
if(collision_line(x, y, x, 0, obj_player, false, true)){
score += 1;
}
【问题讨论】:
标签: game-maker
我在无尽的跑步者面前放置了尖刺。此外,如果我跳得更高但仍然超过尖峰,它会给我更少的分数。我该如何解决这个问题?
我有这段代码(在尖峰步骤事件中),它允许每当我跳过它们时给我分,但当我只需要 1 分时它给我 13 分。
if(collision_line(x, y, x, 0, obj_player, false, true)){
score += 1;
}
【问题讨论】:
标签: game-maker
有很多方法可以做,但最简单的是无需大量更改代码:
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 分并摧毁隐形线。
【讨论】: