如何让汽车在终点线上加点/圈?

时间:2016-08-10 00:45:43

标签: game-maker

我正在为游戏制作者编写一个简单的自上而下的汽车游戏,其中游戏的目的是通过在椭圆形轨道周围驾驶汽车来获得尽可能多的点数/圈数。

汽车以speed = 5驾驶,并使用代码direction = direction + 2; image_angle = direction;

更改方向

如果你还不知道,我是新手编码但是我一直在寻找解决方案至少两周而且没有找到任何东西 - 我怎样才能让游戏每次增加一点汽车经过终点线?我想在汽车和终点线之间必须有一个碰撞事件,但我不明白为了增加一个点而发生的代码,如果我对游戏进行编码以增加一个点,我预计会有是一个错误,当汽车越过终点线时,将加入几个点(而不是1),因为它在整个过程中“碰撞”整个过程。 每当汽车绕过赛道时,我怎样才能添加一个观点? 如果您需要任何进一步的信息,我很乐意提供帮助。感谢信。

在Kake_Fisk的帮助下,我在赛道周围设置了3条中途线,并在赛车线和中途线之间创建了碰撞事件:prntscr.com/c4uecl - 问题是add_point实际上没有做任何事情,我会很高兴得到一些帮助。我遇到的另一个问题是他的汽车原本打算用鼠标按钮1转动,但是当我尝试当我瞄准它时,如果你得到我所说的那辆车只转动了,你有解决方案吗? ?

2 个答案:

答案 0 :(得分:0)

首先,您还需要考虑其他问题。是什么阻止了球员在球门线上前后跑回来?您需要在整个轨道中添加不可见的线条。如果所有这些线路都通过了,你知道玩家已经开过整个赛道。

当汽车撞到球门线时,你想要触发一些代码。通过使用以前的系统,这可以非常容易地完成。在与球门线相撞时,请使用以下内容:

// If all the invisible lines in the track has been visited
if (midway_lines == 3)
{
    // Sets the variable back to 0 so this piece of code only gets executed once
    midway_lines = 0;
    add_point();
}

答案 1 :(得分:0)

obj_car:

creation event:
points = 0; //instance variable

step event:
if(place_meeting(x,y,obj_line)) {
 points += 1;
}

if(points == 3) {
 room_goto(rm_win);
}