【问题标题】:Gamemaker points issue游戏制作者积分问题
【发布时间】:2014-04-19 17:12:37
【问题描述】:

我在无尽的跑步者面前放置了尖刺。此外,如果我跳得更高但仍然超过尖峰,它会给我更少的分数。我该如何解决这个问题?

我有这段代码(在尖峰步骤事件中),它允许每当我跳过它们时给我分,但当我只需要 1 分时它给我 13 分。

if(collision_line(x, y, x, 0, obj_player, false, true)){
score += 1;
}

【问题讨论】:

    标签: game-maker


    【解决方案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 并检查您是否通过了它等等。

    【讨论】:

      【解决方案2】:

      你要做的是创建一个绿线的精灵,它是你房间的高度。 然后创建一个新对象并取消选中“可见”框,将其命名为您喜欢的任何名称作为您的游戏。在尖峰对象的创建事件中,您执行以下代码:

      spike_line = instance_create(Your line object name here)
      spike_line.x = obj_spike.x; // obj_spike is the name of your spike object
      

      希望它有效。 如果您发现任何错误,请发表评论。

      【讨论】:

        【解决方案3】:

        这可能是因为玩家超过了 13 步,因此获得了 13 分。

        如果我是你,我会创建一个隐藏对象(一条长长的黑线)并将它们生成在与尖刺相同的位置。然后如果玩家与它发生碰撞,你给 1 分并摧毁隐形线。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-04-24
          • 1970-01-01
          相关资源
          最近更新 更多