临时限制玩家移动到地图的某个区域 Unity Game Development C#
Restrict Player Movement to a Area of the Map Temporarily Unity Game Development C#
当我的玩家游戏对象与另一个游戏对象发生碰撞时,我希望玩家在击败敌人之前不要离开另一个游戏对象周围的一小块区域。换句话说,在对付敌人之前限制打法的移动。我只是不知道如何将移动暂时限制在初始碰撞发生的地方的少量 space 范围内。
我认为可能的解决方案是限制变换,或者创建另一个游戏对象,使用刚体和对撞机将玩家物理地保持在该区域。
我的播放器控制的移动现在只是 Input.GetAxis 用于垂直和水平输入并使用 transform.translate。
感谢阅读我的问题。任何帮助将不胜感激,即使是您可能认为显而易见的事情,我对此还是陌生的。非常感谢。
在不知道您的游戏的任何细节(2D、3D 等)的情况下,我最初的想法是做这样的事情是在您的玩家和他们碰撞的敌人周围生成隐形墙游戏对象。像 Devil May Cry 这样的动作游戏经常这样做,除了它们有 pre-defined 个关卡点,墙壁将在这些位置生成。
当玩家击败敌人后,您可以删除墙壁。
当我的玩家游戏对象与另一个游戏对象发生碰撞时,我希望玩家在击败敌人之前不要离开另一个游戏对象周围的一小块区域。换句话说,在对付敌人之前限制打法的移动。我只是不知道如何将移动暂时限制在初始碰撞发生的地方的少量 space 范围内。
我认为可能的解决方案是限制变换,或者创建另一个游戏对象,使用刚体和对撞机将玩家物理地保持在该区域。
我的播放器控制的移动现在只是 Input.GetAxis 用于垂直和水平输入并使用 transform.translate。
感谢阅读我的问题。任何帮助将不胜感激,即使是您可能认为显而易见的事情,我对此还是陌生的。非常感谢。
在不知道您的游戏的任何细节(2D、3D 等)的情况下,我最初的想法是做这样的事情是在您的玩家和他们碰撞的敌人周围生成隐形墙游戏对象。像 Devil May Cry 这样的动作游戏经常这样做,除了它们有 pre-defined 个关卡点,墙壁将在这些位置生成。
当玩家击败敌人后,您可以删除墙壁。