c# - 为什么我不能将我的播放器附加到脚本中的转换?
问题描述
我正在尝试制作一个脚本,僵尸在其中寻找玩家,如果玩家进入边界,它将开始追逐它。我的问题是我无法将我的播放器附加到检查器中的脚本,我不确定为什么。我对代码没有问题(至少我不这么认为),只是它没有附加。播放器是统一标准资产的预制件。
编辑:脚本附加到我资产中的预制件上。层次结构中的玩家。
以防万一这是我的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ZK_attack : MonoBehaviour
{
public Transform Player;
public float MoveSpeed = 4.5f;
public float MaxDist = 4.0f;
public float MinDist = 1.5f;
private Coroutine animat = null;
private Animator anim;
void Update()
{
transform.LookAt(Player);
if (Vector3.Distance(transform.position, Player.position) >= MinDist)
{
transform.position += transform.forward * MoveSpeed * Time.deltaTime;
anim.SetBool("inRadius", true);
if (Vector3.Distance(transform.position, Player.position) <= MaxDist)
{
anim.SetBool("AttackingPlayer", true);
}
}
if (Vector3.Distance(transform.position, Player.position) <= MinDist)
{
anim.SetBool("inRadius", false);
}
if (Vector3.Distance(transform.position, Player.position) >= MaxDist)
{
anim.SetBool("AttackingPlayer", false);
}
}
}
解决方案
好的,问题是您只能将对象拖到场景中已经存在的脚本中,除非它们本身是 assests 文件夹中的预制件,即使它位于对象上。为了完成你需要的,在你的 Start() 添加
Player = GameObject.Find("...name of object you wish to set as Player").transform;
推荐阅读
- rust - 如何满足 Rust 编译器对拥有的 trait 对象的“静态生命周期要求”?
- html - 动画幻灯片 CSS 对齐问题
- sql - 为什么 postgresql case 子句中两个逻辑上相同的条件有不同的行为?
- python - 在bash和子进程上运行时python不同的输出
- python - 尝试将 DBF 转换为 CSV 时出现 Unicode 错误
- javascript - 时事通讯注册 api 的问题
- python - 如何在列表中找到对象的特定内容?
- reactjs - 在手机上运行 localhost react 应用
- java - 从 main() 方法调用非静态方法的 Java 约定
- c# - ASP.NET Core 路由 - 仅映射特定控制器