0

Unity でゲームを作成しようとしています。Unity とコーディングは初めてで、ゲームの作成を開始しました。ある程度の進歩はありましたが、YouTube と Unity フォーラムで自分の答えを見つけるのに苦労しています。 、そして時々私がそうするとき、私はまだ物事を働かせることができません. これが私がやろうとしていることです。

私はマップを持っていて、プレーヤーは塔の上にいます。プレーヤーが落下し、地面にぶつかると、ゲームオーバーを表示して死にます。これを実現するにはどうすればよいですか?また、スクリプトは何ですか?


だから私は今これを持っています、

// Ground.cs: Kills players that touch this.collider. 
using UnityEngine; 

// Attach this to the grass collider 

public class Ground : MonoBehaviour { 
// Called when another collider hits the grass. 
// This is part of Unity! 

    void OnCollisionEnter(Collision c) { 
    // Does the other collider have the tag "Player"? 
        if (c.gameObject.tag == "Player") { 
            // Yes it does. Destroy the entire gameObject. 
            Destroy(c.gameObject); 
        } 
    } 
} 

ここで、ゲーム オーバー オーバーレイに移行する必要があります。このオーバーレイでは、はいまたはいいえで再起動するように求められます。

4

1 に答える 1

0

Unity3D を効率的に学習するためのリソースがあります。

Unity3D のチュートリアルをご覧ください: https://unity3d.com/learn/tutorials

これらのチュートリアルは通常、非推奨のコードを使用しないという点で最新の状態に保たれています。さらに、いくつかのチュートリアルでは、必要なイベントを設定する方法を説明しています。

ただし、差し迫った質問に関しては、ゲームのロジックを形成することを検討してください。

リジッドボディに適用される重力またはゲームオブジェクトに適用されるハードコーディングされた物理学のいずれかを介して、プレーヤーのゲームオブジェクトを落下させる必要があります。次に、プレイヤー ゲームオブジェクトが「床」と衝突したかどうかを判断する必要があります。その場合、イベントをトリガーしてプレイヤー ゲームオブジェクトを破棄する必要があります。次に、Game Over という GUI テキストを表示します。

チュートリアルをよく見て、Unity に慣れてください。時間が経つにつれて、物事を実現する方法を学びます。さらに質問がある場合は、お気軽にお問い合わせください。


あなたの更新への回答:

コードが正しく機能し、ゲーム オブジェクトを正しく破棄している場合は、すばらしいことです。あなたは速く学んでいます!

次のステップは次のようになります。

  1. キャンバスの作成、GUI パネルの作成、GUI テキストの作成
  2. その GUI テキスト オブジェクトには、ゲーム オーバー テキストを含めることができます。
  3. 次に、再起動ボタンとして利用するボタンを作成します
  4. SceneManager.LoadSceneシーンのリロードに使用する関数をボタンで呼び出すことができます。ここで例を見てください: http://answers.unity3d.com/questions/1109497/unity-53-how-to-load-current-level.html
  5. 次に、プレイヤーが死ぬまでパネルは必要ないため、パネルを無効にします。
  6. プレイヤーが地面に衝突すると、プレイヤーのゲームオブジェクトが破壊され、作成したパネルがアクティブに設定されます。(これらのアクションは、コード内のリスナーまたはインスペクターのボタン コンポーネントを介してトリガーできます)。
于 2015-12-28T01:56:13.137 に答える