如何让汽车在越过终点线时添加 points/laps?
How to make car add points/laps as it goes over finish line?
我正在 game-maker 上编写一个简单的自上而下的汽车游戏,该游戏的目的是通过在椭圆形轨道上驾驶汽车来获得尽可能多的 points/laps。
汽车以speed = 5
行驶,并以代码direction = direction + 2;
image_angle = direction;
改变方向
如果您还不知道,我是编码的新手,但是我已经搜索了至少两周的解决方案并且没有找到任何东西 - 我怎样才能让游戏每次都增加一个点汽车通过终点线?我想汽车和终点线之间肯定会发生碰撞事件,但我不明白为了添加一个点而发生的代码,如果我编写游戏代码来添加一个点,我预计会有是一个错误,当汽车越过终点线时,将添加几个点(而不是 1 个点),因为它在整个过程中都是 "colliding"。
每次汽车绕过赛道时,如何添加一个点?
如果您需要任何进一步的信息,我很乐意提供帮助。谢谢。
在 Kake_Fisk 的帮助下,我在赛道周围设置了 3 条中线,并在汽车和中线之间创建了一个碰撞事件:prntscr.com/c4uecl - 问题是 add_point 实际上并没有做任何事情,我很乐意提供一些帮助。我遇到的另一个问题是,他的车本来是要用鼠标按钮 1 转弯的,但是当我尝试让车只在我对准它时转弯,如果你明白我在说什么,你也有解决方案吗?
首先,你还有一个问题需要考虑。是什么阻止球员在球门线上来回行驶?您需要在整个轨道中添加不可见的线条。如果所有这些线都通过了,你就知道玩家已经驾驶汽车通过了整个赛道。
您想在汽车到达球门线时触发一次代码。通过利用以前的系统,这可以很容易地完成。在与球门线发生碰撞时,使用类似这样的东西:
// 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();
}
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);
}
我正在 game-maker 上编写一个简单的自上而下的汽车游戏,该游戏的目的是通过在椭圆形轨道上驾驶汽车来获得尽可能多的 points/laps。
汽车以speed = 5
行驶,并以代码direction = direction + 2;
image_angle = direction;
如果您还不知道,我是编码的新手,但是我已经搜索了至少两周的解决方案并且没有找到任何东西 - 我怎样才能让游戏每次都增加一个点汽车通过终点线?我想汽车和终点线之间肯定会发生碰撞事件,但我不明白为了添加一个点而发生的代码,如果我编写游戏代码来添加一个点,我预计会有是一个错误,当汽车越过终点线时,将添加几个点(而不是 1 个点),因为它在整个过程中都是 "colliding"。 每次汽车绕过赛道时,如何添加一个点? 如果您需要任何进一步的信息,我很乐意提供帮助。谢谢。
在 Kake_Fisk 的帮助下,我在赛道周围设置了 3 条中线,并在汽车和中线之间创建了一个碰撞事件:prntscr.com/c4uecl - 问题是 add_point 实际上并没有做任何事情,我很乐意提供一些帮助。我遇到的另一个问题是,他的车本来是要用鼠标按钮 1 转弯的,但是当我尝试让车只在我对准它时转弯,如果你明白我在说什么,你也有解决方案吗?
首先,你还有一个问题需要考虑。是什么阻止球员在球门线上来回行驶?您需要在整个轨道中添加不可见的线条。如果所有这些线都通过了,你就知道玩家已经驾驶汽车通过了整个赛道。
您想在汽车到达球门线时触发一次代码。通过利用以前的系统,这可以很容易地完成。在与球门线发生碰撞时,使用类似这样的东西:
// 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();
}
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);
}