私は絶対の初心者です。私は現在、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の[マウスルック]ドロップダウンの参照にアクセスする方法を知っている人はいますか?ありがとうございます。
回答:
回答№1は1まず第一に、あなたは使うべきです C# それはより多くの機能を持っているのでできるだけ早くJavascriptより。また、UnityscriptよりもC#の方が助けになるでしょう。最後に、Unityscriptが将来廃止される可能性が高いので、今すぐその決定を下してください。 UnityのC#チュートリアルを見つけることができます ここに.
ザ MouseLook
スクリプトはで公開されていません FirstPersonController
スクリプト。
我々は公開します MouseLook
。オープン FirstPersonController.cs
からのスクリプト 資産/標準資産/キャラクター/ FirstPersonCharacter /スクリプト ディレクトリを開き、その下に以下のスクリプトを追加します。
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;
}