我目前正在制作一款 Unity 恐怖游戏。我才刚刚开始,但我的项目中已经存在一些问题和错误。我从 Unity Asset 商店下载了一个 Flashlight 预制件。它已经有一个名为FlashlightToggle的脚本,但是脚本的问题是,即使我没有配备手电筒(我手里没有),我也可以打开和关闭手电筒。我试图通过我的 PickUpController 脚本启用-禁用 FlashlightToggle 脚本来解决这个问题,该脚本基本上是使我能够拾取对象(如手电筒)的脚本。但是,当我在引用脚本后尝试禁用或启用脚本时,我得到一个错误代码:
Assets\Object Scripts\PickUpControllerTorch.cs(38,13):错误 CS0120:非静态字段、方法或属性“Behaviour.enabled”需要对象引用
你能帮我解决问题,并解释一下,我做错了什么吗? 我知道,有很多其他脚本与此问题有关,但我找不到任何帮助,尽管我现在一直在搜索这个错误。感谢您的帮助!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PickUpControllerTorch : MonoBehaviour
{
public FlashlightToggle Torch;
public Key Item;
public Rigidbody rb;
public BoxCollider coll;
public Transform player, KeyContainer, fpsCam;
public float pickUpRange;
public float pickUpTime;
public float dropForwardForce, dropUpwardForce;
public float turnSpeed = 50f;
public bool equipped;
public bool otherequipped;
public static bool slotFull;
private void Start()
{
//Setup
if (!equipped)
{
Item.enabled = false;
rb.isKinematic = false;
coll.isTrigger = false;
FlashlightToggle.enabled = false;
}
if (equipped)
{
Item.enabled = true;
rb.isKinematic = true;
coll.isTrigger = true;
slotFull = true;
FlashlightToggle.enabled = true;
}
}
这不是完整的代码,所以如果您需要,请告诉我,我会上传完整的代码。