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
void Start()
{
rb = GetComponent<Rigidbody>();
}
// 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()
{
Movement();
}
答えて
Input.GetAxis ("Horizontal");
およびInput.GetAxis ("Vertical");
は、上下、上下、左右の矢印を検出します。 Input.GetAxis ("Horizontal");
とInput.GetAxis ("Vertical");
を使用する場合、ユニティ入力の設定を変更するためにユニティ入力の設定を混乱させる必要があります。Unityで定義されたキーを変更しない限り、Unityは両方のプレイヤーを移動します。解決策は、Input.GetKey()
を使用し、キー名を指定することです。 2人のプレーヤーを作り、それらに剛体をつけなさい。プレイヤー1をPlayer1RBとPlayer2にドラッグして、エディターでPlayer2RBにすることができます。
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.
public Rigidbody player1RB; //Player 1 Rigidbody
public Rigidbody player2RB; //Player 2 Rigidbody
//Player 1 Code with aswd keys
void Player1Movement()
{
if (Input.GetKey(KeyCode.A))
{
player1RB.AddForce(Vector3.left * speed);
}
if (Input.GetKey(KeyCode.D))
{
player1RB.AddForce(Vector3.right * speed);
}
if (Input.GetKey(KeyCode.W))
{
player1RB.AddForce(Vector3.forward * speed);
}
if (Input.GetKey(KeyCode.S))
{
player1RB.AddForce(Vector3.back * speed);
}
}
//Player 2 Code with arrow keys
void Player2Movement()
{
if (Input.GetKey(KeyCode.LeftArrow))
{
player2RB.AddForce(Vector3.left * speed);
}
if (Input.GetKey(KeyCode.RightArrow))
{
player2RB.AddForce(Vector3.right * speed);
}
if (Input.GetKey(KeyCode.UpArrow))
{
player2RB.AddForce(Vector3.forward * speed);
}
if (Input.GetKey(KeyCode.DownArrow))
{
player2RB.AddForce(Vector3.back * speed);
}
}
// Update is called once per frame
void Update()
{
Player1Movement();
Player2Movement();
}
}
今すぐmakessense、ありがとうございました。私は自分のコードを開発しようとしていたが、それはプレーヤー2のために働いたが、プレーヤー1はもう動けなかった:/ありがとう –
うれしかった。問題が解決した場合は、それを回答として受け入れることができます。私は... g ... b..o幸運の仲間! – Programmer
これは3Dスケールか2Dスケールですか? –
これを行うには、Input.GetKeyDown
機能を使用できます。ただし、これを動作させるには、これをキーコードで入力する必要があります。この関数はbooleanを返しますので、if文でこれを使用できます。 WASDキーの機能は次のとおりです。キーコードはこのようなものです。
Keycode.W
だから、例えば、あなたのif文を使用すると、ゲームオブジェクトのボタンが押された依存し、その上に与えられたのxのyまたはz方向に変換移動する移動するには、このif(Input.GetKeyDown(KeyCode.W)
.Thenようになります。あなたが望むなら、後で変数を変更できるように、速度で移動したい値を掛けることができます。コードサンプルが必要な場合は、お問い合わせください。各プレイヤーにplayeridを持たせるには、スクリプトに変数を含めることができます。また、startメソッドでは、player idやguidを生成して、その変数を埋めることができます。その直後のスクリプトの外部にある変数にアクセスするには、変数をpublicにしたいと思うでしょう。
コードサンプルがあるかもしれませんが、どういう意味ですか? –
- 1. Rails - ユーザー入力に基づいてオブジェクト属性を選択します。
- 2. クライアントの入力に基づいて、サーバーはどのように異なるタスクを実行しますか?
- 3. 与えられた座標に基づいてUIImageを移動する方法
- 4. AS3:ランダムに生成されたオブジェクトをその回転に基づいて移動させる
- 5. three.jsでの回転に基づいてオブジェクトを移動する
- 6. 入力に基づいて異なるタイプを返す関数
- 7. 入力されたテキストフィールドの値に基づいてsenchaでどのように問い合わせますか?
- 8. チェックボックスの入力に基づいて深いオブジェクトをフィルタリングする
- 9. 2つの異なる入力に基づいてリンクのパスを動的に設定するにはどうすればよいですか?
- 10. 人の属性に基づいてクラスタリングするためにどのようなアルゴリズムを使用しますか?
- 11. 属性の3つの異なる値に基づいて、Pythonでオブジェクトのリストをソートする?
- 12. モデルの属性に基づいていくつかのデータを自動入力する
- 13. 属性に基づいてjsonオブジェクトをソートする
- 14. 異なる色の異なる線を、それらの特性に基づいてプロットする
- 15. 値ノードを親ノードの属性に移動させるにはどうすればよいですか?
- 16. ファイル名の長さに基づいてファイルを移動する
- 17. Rubyメタクラスが与えられていると、それがどのインスタンスに付属しているのですか?
- 18. 異なる文字列に基づいて異なるクラスを入力として初期化する
- 19. Perlスクリプトを変更して、バージョンに基づいて異なるディレクトリにあるパッケージを移動するには?
- 20. ユーザー入力に基づいてAPIコールを作成するにはどうすればよいですか?
- 21. テキスト入力に基づいてPyQt QCombobox項目をフィルタリングするにはどうすればよいですか?
- 22. 入力に基づいてシングルトンクラスを作成するにはどうすればよいですか?
- 23. 置き換えられる入力のdirection属性に基づいて、異なるTinyMCEエディタの方向性を設定するにはどうすればよいですか?
- 24. Javascript:入力パラメータに基づいて要素にアクセスするにはどうすればよいですか?
- 25. F#のガベージコレクタによってオブジェクトが移動されないようにする
- 26. メッセージタイプに基づいて異なる処理を処理するにはどうすればよいですか?
- 27. 複数の属性に基づいて重複の行を挿入する方法を確認するにはどうすればよいですか?
- 28. ユーザー入力に基づいて入力フィールドを追加する
- 29. 複数の属性と複数の属性値に基づいて要素を表示/非表示するにはどうすればよいですか?
- 30. どのようにCSSでその後継に基づいてラベルをフォーマットし
私はコードをStartメソッドに実装したいと考えています。 –
あなたがしようとしていることを説明し、それをうまく説明すれば、誰かがあなたの質問を理解し、あなたを助けることができるかもしれません。どのような入力? – Programmer
入力はキーボードのキーになります。私は2つのプレーヤーオブジェクトを持っていますが、私は各プレイヤーが異なるキーを持って移動するようにします –