こんにちは、Habr!
今夜、私は自由な時間を過ごし、ラップトップの広大な場所を無駄に旅していたときに、インストールされたUnity3dを見つけました。
まあ、私は単純な何かを混乱させることにしました。
まず、Unityを開き、プロジェクト(3D)を作成します。
始めましょうか?
メニュー
GameObject> 3D Object> Cubeに移動し、
キューブを取得します
スケールツールを使用して、キューブを引き伸ばし、高さを減らします。最後にプレートを取得する必要があります

別のキューブを1つ追加し、それに
playerという名前を付けます。 カメラを「プレイヤー」に取り付けます
[
コンポーネントの追加]> [物理]> [リジッドボディ]をクリックし
ますRigidbodyウィンドウで、
Use Gravityにチェック
マークを付けます。
再生ボタンをクリックすると、プレート上に落下する立方体が表示されます
迷路を作成する
新しいキューブを作成し、壁のように見せます

壁を複製し、それらから迷路を作成します。 膨らんだプレートでフィニッシュポイントを飾ります。

色を追加する

コーディングの時間です
playerActionsという新しいC#スクリプトを作成します

開けます。
変数を宣言する
public GameObject player; public int speed; public int rotationSpeed;
開始()関数
player = (GameObject)this.gameObject;
機能更新()
次の行は、「ヒーロー」が前後に移動できるようにします
if (Input.GetKey (KeyCode.W)) { player.transform.position += transform.forward * speed * Time.deltaTime; } if (Input.GetKey (KeyCode.S)) { player.transform.position -= transform.forward * speed * Time.deltaTime; }
ヒーローを回転させるには、これらの線を使用します
if (Input.GetKey (KeyCode.D)) { player.transform.Rotate (Vector3.up * rotationSpeed*Time.deltaTime); } if (Input.GetKey (KeyCode.A)) { player.transform.Rotate (Vector3.down * rotationSpeed*Time.deltaTime); }
OnGUI()関数
フィニッシュラインに到達したら、彼らはすべてを終えたと言い、迷路を抜けてゲームを終了しました。
if (player.transform.position.z >= 0.99 && player.transform.position.z <= 1.75 && player.transform.position.x <= -1.1 && transform.position.x>=-1.49) { if (GUI.Button (new Rect (200, 200, 800, 400), "You are win!\nExit")) {Application.Quit ();} ime.timeScale = 0;
まあそれはすべてです
ほとんどすべての準備が整いました。スクリプトを「ヒーロー」にドラッグするだけです。
始めます。 確認します。 何も機能しませんか?
そうです、値を変数
speedおよび
rotationSpeedに設定するのを忘れていました!
値を入力して実行
オーディオトラックゲームオブジェクト>オーディオ>オーディオソースを追加し、プレーヤーにバインドします。 AudioClipフィールドでは、音楽を転送します。
シーンを保存します。
組立
[ファイル]> [ビルドと設定]に移動し
ます 。 シーンを追加し、プラットフォームを選択して組み立てます。
まとめ
github