如何让敌人沿着特定路径行动。

如何让我的敌人按照特定路径移动?目前我只有这些,我使用 Tiled 来处理图像等。我正在尝试创建一个游戏,在游戏中玩家要进入一个区域,然后躲避敌人以获取硬币,以便门能够打开通向下一个区域。但是由于我的敌人正在巡逻,有时候会进入通向下一个区域的走廊,这显然是不应该发生的。

我还遇到了一个问题,门在我拿起硬币后并没有消失。我想最简单的方法是当我达到一定分数时,门会被移除,但它直到玩家触摸门才消失。有什么建议吗?也许可以将硬币与门链接在一起,这样当硬币被拾起时,它们都会消失?

Level.Load ("Game.tmx")
player = {
  object = nil,
  score = 0,
  health = 100,
  speed = 3,
 }

function Start()
  --识别对象,给它们命名
  player.object = Level.GetObject ("Player")
  enemy = Level.GetObject ("Enemy")
 -- music = Sound.Load ("music.mp3", true, true)
  Hud.Message ( "开始", 2)
end
function DoPlayer()
  player.object = Level.GetObject( "Player")
end
function DoEnemey()
  enemy = Level.GetObjects( "Enemey" )
end
function DoSign()
  Sign = Level.GetObject( "Sign" )
end
function DoDoor()
  door = Level.GetObject( "door" )
end

function Update()
  --HUD
  Hud.Score ("得分: " ..player.score )
  Hud.Health ("生命值: " ..player.health )

 --控制器
Controller.Wasd (player.object, player.speed)
Controller.Patrol (enemy, 2)
Camera.Follow (player.object)

end

function info()
  Hud.Message ("拿起硬币前往下一个区域!", 3)
end
function CoinPickup( target, source)

  if target == player.object then
    player.score = player.score + 1
    Level.RemoveObject( source )
  end
end

function DoorOpen( target, source)
  if target == player.object
   and player.score == 2
    then Level.RemoveObject ( source )
    end
  end
点赞