更改 FirstPersonController MouseLook 灵敏度
Changing FirstPersonController MouseLook sensitivity
我绝对是初学者。我目前正在使用 javascript 制作瞄准脚本,瞄准时我希望 x 和 y 的灵敏度都降至 2。我尝试使用
GetComponent.<UnityStandardAssets.Characters.FirstPerson.MouseLook>().sensitivityX = 2;
但这不起作用。该行的错误是
NullReferenceException: Object reference not set to an instance of an object
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.SetProperty (System.Object target, System.String name, System.Object value)
AimDownSights.Update () (at Assets/AimDownSights.js:33)
有谁知道如何访问 FPSController 中鼠标外观下拉菜单的引用以便我可以更改灵敏度?谢谢!
首先,您应该尽快使用 C#,因为它的功能比 Javascript 多。此外,与 Unityscript 相比,您将获得更多关于 C# 的帮助。最后,Unityscript 在未来被停用的可能性很高,所以现在就做出这个决定。您可以找到 Unity here.
的 C# 教程
MouseLook
脚本没有暴露在FirstPersonController
脚本中。
我们将公开MouseLook
。从 Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts 目录打开 FirstPersonController.cs
脚本并添加以下脚本:
public MouseLook mouseLookCustom
{
get { return m_MouseLook; }
}
就是这样。我们现在公开了 MouseLook
实例。
修改鼠标东东:
C#:
using UnityStandardAssets.Characters.FirstPerson;
public class Fpstest : MonoBehaviour
{
FirstPersonController fps;
// Use this for initialization
void Start()
{
GameObject fpObj = GameObject.Find("FPSController");
fps = fpObj.GetComponent<FirstPersonController>();
fps.mouseLookCustom.XSensitivity = 5;
}
}
Unityscript/Javascript:
#pragma strict
import UnityStandardAssets.Characters.FirstPerson;
var fps:FirstPersonController;
function Start () {
var fpObj = GameObject.Find("FPSController");
fps = GetComponent.<FirstPersonController>();
fps.mouseLookCustom.XSensitivity = 5;
}
我绝对是初学者。我目前正在使用 javascript 制作瞄准脚本,瞄准时我希望 x 和 y 的灵敏度都降至 2。我尝试使用
GetComponent.<UnityStandardAssets.Characters.FirstPerson.MouseLook>().sensitivityX = 2;
但这不起作用。该行的错误是
NullReferenceException: Object reference not set to an instance of an object
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.SetProperty (System.Object target, System.String name, System.Object value)
AimDownSights.Update () (at Assets/AimDownSights.js:33)
有谁知道如何访问 FPSController 中鼠标外观下拉菜单的引用以便我可以更改灵敏度?谢谢!
首先,您应该尽快使用 C#,因为它的功能比 Javascript 多。此外,与 Unityscript 相比,您将获得更多关于 C# 的帮助。最后,Unityscript 在未来被停用的可能性很高,所以现在就做出这个决定。您可以找到 Unity here.
的 C# 教程MouseLook
脚本没有暴露在FirstPersonController
脚本中。
我们将公开MouseLook
。从 Assets/Standard Assets/Characters/FirstPersonCharacter/Scripts 目录打开 FirstPersonController.cs
脚本并添加以下脚本:
public MouseLook mouseLookCustom
{
get { return m_MouseLook; }
}
就是这样。我们现在公开了 MouseLook
实例。
修改鼠标东东:
C#:
using UnityStandardAssets.Characters.FirstPerson;
public class Fpstest : MonoBehaviour
{
FirstPersonController fps;
// Use this for initialization
void Start()
{
GameObject fpObj = GameObject.Find("FPSController");
fps = fpObj.GetComponent<FirstPersonController>();
fps.mouseLookCustom.XSensitivity = 5;
}
}
Unityscript/Javascript:
#pragma strict
import UnityStandardAssets.Characters.FirstPerson;
var fps:FirstPersonController;
function Start () {
var fpObj = GameObject.Find("FPSController");
fps = GetComponent.<FirstPersonController>();
fps.mouseLookCustom.XSensitivity = 5;
}