簡體   English   中英

Game Maker中的敵人重疊:工作室,我該如何解決?

[英]Enemies Overlapping in Game Maker: Studio, How Do I Fix This?

我為游戲制作的敵人的AI很簡單。 他們只是跟隨玩家(更准確地說,他們朝玩家的方向向前看)

    Step Event:

    if (instance_exists(obj_player)){
         direction = point_direction(x,y,obj_player.x,obj_player.y);
    }

    speed = spd;

但是他們繼續互相重疊,並超越了玩家。 我曾嘗試研究過,但所有論壇都說過要使用place_free()和xprevious&yprevious,但是我不知道如何使用它們。 我該如何解決?

謝謝 :)

您可以在游戲制作者文檔中閱讀有關此內容: https ://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/collisions/place_free.html

基本上,您要做的是避免移動實例,否則會導致沖突。 x_previous和y_previous將用於通過返回到上一個位置來取消移動。

但是我認為最好在移動之前檢查一下位置,因此我將在腳本結尾添加:

if (place_free(x+hspeed, y+vspeed)) speed = spd;
else speed = 0;

這樣,敵人將停止,而不是超越另一個實例。

以下是一個小小的升級:如果檢測到碰撞,請檢查是否可以沿單個軸(x或y)移動並進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM