2017-04-26 4 views
2

私は絶対的な初心者です。私は現在、JavaScriptを使用してダウンを目指す観光スポットのスクリプトを作っていて、目的とする場合、私は私がFirstPersonControllerを変更するMouseLookの感度

GetComponent.<UnityStandardAssets.Characters.FirstPerson.MouseLook>().sensitivityX = 2; 

を使用してみましたxとyの両方のための感度が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

あなたが任意のエラーを取得するのですか?あなたが*「それはうまくいかない」*とはどういう意味ですか? – Programmer

+0

@Programmer OP – Orion31

答えて

1

まず、C#はJavascriptよりも多くの機能を備えているため、できるだけ早く使用する必要があります。また、UnityscriptよりもC#の方が助けになるでしょう。最後に、Unityscriptが将来中断される可能性は高いので、今すぐ決定してください。 Unity hereのC#チュートリアルを見つけることができます。

MouseLookスクリプトは、FirstPersonControllerスクリプトで公開されていません。

MouseLookが公開されます。 資産/標準資産/キャラクター/ FirstPersonCharacter /スクリプトディレクトリから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; 
} 
+0

非常に良い答えを編集しました!私は今週Unityを始めました。私はすでにJavascriptを知っているので、私は現在使っています。私はC#を学ぶ計画がありますが、新しい言語に飛び込む前にUnityの感覚を学びたい – Orion31

関連する問題