c# - Unity 2d 与 Astar 寻路
问题描述
我在我的 2d 游戏中使用 Astar 寻路,但有一个问题。当敌人跟随玩家并在与玩家特定距离停止后射击时,它看不到他们之间是否有物体并直接射击障碍物。我希望敌人绕过障碍物并在它们之间没有物体时射击。我知道我们可以使用 Raycast,但我不知道如何实现它....
解决方案
public void CheckRayCast()
{
RaycastHit2D hit = Physics2D.Raycast(transform.position, target.position, 50f);
if (hit)
{
Debug.Log(hit.collider.name);
}
}
您可以使用此代码检查对象是否被击中
推荐阅读
- java - 如果子线程抛出异常,如何通知父线程?
- spring-boot - 在 Spring Boot 应用程序中无法看到 Hawtio 中的 Camel 部分
- javascript - 电子菜单中是否可以有子菜单的子菜单?
- azure-devops - 'databricks 配置 --token' 挂起输入
- sorting - Lua:在两个特定列上迭代表(带有字母数字值)
- ios - Cordova IOS 应用程序在 IOS 14 中显示白屏
- r - R:当电子邮件有多个域名结尾时,我如何将电子邮件分成几部分?
- swift - 如何在 SwiftUI 中将 DatePicker 放入 ContextMenu
- javascript - 在电子表格的 html 表单上添加所需的输入
- javascript - 在 Chrome/Firefox 开发者工具中,是否可以隐藏除前两个错误之外的所有错误?(因为 React 会产生很多垃圾错误)