2016-04-07 4 views
0
using UnityEngine; 
using System.Collections; 

public class PlayerController : MonoBehaviour 
{ 


    public float speed = 80.0f; // Code for how fast the ball can move. Also it will be public so we can change it inside of Unity itself. 
    private Rigidbody rb; // Variable that applies itself to Ball 


    // Code That enables our Player to move around. 
    void Movement() 
    { 

     float moveHorizontal = Input.GetAxis ("Horizontal"); 
     float moveVertical = Input.GetAxis ("Vertical"); 
     Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); 
     rb.AddForce (movement * speed); 
    } 


    // Update is called once per frame 
    void Update() 
     { 
      rb = GetComponent<Rigidbody>(); 
      Movement(); 
     } 

} 
+0

このコード私はこれまでのところ、クラスを作成して2つのインスタンスを作成する方法を混乱させています。誰かが私に手を貸してくれるのですか? –

+0

クラスがあります: 'public class PlayerController'これは' PlayerController'と呼ばれます。これをGameObjectsに添付すると、各ゲームオブジェクトはこのクラスのインスタンスを持ちます。 – JanR

+0

次のようにしてアクセスできます: 'yourGameObject.GetComponent ();' – JanR

答えて

1

あなたのコードは、あなたのプレーヤーGameObjectにクラスをドラッグすることができ、unity3dでPlayerController

呼ばclassです。これにより、プレーヤーオブジェクトにコンポーネントとしてスクリプトが追加されます。プレーヤーオブジェクトが作成されると、そのオブジェクトのインスタンスがPlayerControllerになります。

プレーヤーのIDを設定する場合: PlayerControllerクラスにplayerIdプロパティを追加します。プレーヤーをスポーンするときにGetComponent<PlayerController>()を使用してPlayerControllerにアクセスしてIDを設定することができます。このIDを設定することができます。void Start() {}

+0

しかし、私のゲームで2人のプレーヤーを作るのはどうですか?私はどのように各プレーヤーにplayerID属性を与え、それらに何を与えるかに基づいて異なった振る舞いをする方法について混乱しています –

関連する問題