gpt4 book ai didi

c# - 从 FirstPersonController 访问另一个脚本

转载 作者:行者123 更新时间:2023-11-30 16:49:40 24 4
gpt4 key购买 nike

对不起我的英语!

我有一个名为“MYJoystick.cs”的脚本:

 public class MYJoystick : MonoBehaviour 
{
public static string myX;
}

我想在 unity 5 中从“FirstPersonController.cs”访问“myX”。我想在 FirstPersonController 的更新中这样写:

 private void Update()
{
MYJoystick.myX += 1;
}

但它说“名称‘MYJoystick’在当前上下文中不存在”。

我该如何解决这个问题?我应该在 FirstPersonController 中添加 Using 吗?用什么?统一的默认命名空间是什么?我也尝试为我的脚本添加命名空间,但它也不起作用!

最佳答案

我刚遇到这个问题。

http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html

The basic rule is that anything that will be compiled in a phase after the current one cannot be referenced.The phases of compilation are as follows:

Phase 1: Runtime scripts in folders called Standard Assets, Pro Standard Assets and Plugins.

Phase 2: Editor scripts in folders called Editor that are anywhere inside top-level folders called Standard Assets, Pro Standard Assets and Plugins.

Phase 3: All other scripts that are not inside a folder called Editor.

Phase 4: All remaining scripts (ie, the ones that are inside a folder called Editor).

您的 FPSController c# 脚本位于标准 Assets 文件夹中,它是在另一个文件夹中的其他自定义 c# 脚本之前编译的。

要解决此问题,您可以将“标准 Assets ”重命名为另一个名称,或者将此文件夹放入另一个文件夹中,或者获取 FPSController 脚本并将其与其他脚本放在一起。更好的解决方案是复制 FPSController 标准 Assets 脚本并将其放入您的自定义文件夹,然后改为修改该脚本。

我试图改变脚本的编译顺序作为更好的解决方案,但它似乎没有用。这仅适用于 Start()Awake() 我认为在脚本之间的运行时。

关于c# - 从 FirstPersonController 访问另一个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36209036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com