2017-03-01 21 views
-1

私はキャラクターがマップの領域を選択している私のゲームの一部を持っています。そしてそれはパネルを開く。私はそれが起こるようにしましたが、今はそれの他の部分にこだわっています。マップの特定の領域だけを扱いにくくして、プレイヤーに準備ができていないマップの領域を選択させないようにします。ゲーム内のゲームオブジェクトをどのようにしてインタラクティブにするかわかりません。私はStack overflow、YoutubeとUnity APIを見てきましたが、成功していません。誰かがそれで私を助けることができますか?メイクとオブジェクトuniteractable

+0

マップはどのように区切られていますか?現在、地図上のクリックをどのように検出していますか?これらの情報で質問を更新してください。シーンビューにマップのスクリーンショットが役立ちます。 – Programmer

+0

ロックされていないものとロックされていないものとの対話方法と対処方法を説明できますか?プレイヤーがクリックするだけの 'GameObjects'ですか?ロックしてクリックしたときに何かを表示すべきか、まったく無視するべきか? – Foggzie

答えて

1

状況を変える方法は状況によって異なります。私はマップが一種のグリッドに分割されていると仮定しています。

基本設定には、おそらく「CanAccessZone」と呼ばれるブールが含まれます。 次に、アクセス情報とポップアップロジックを格納するためのクラスが必要です。ポップアップロジックでは、この要素を非対話型にするか、ポップアップを表示し、表示されるポップアップは 'CanAccessZone'に依存します。このクラスは、レベルがロードされたときにMapクラスによって設定されるか、PopupクラスがMapクラスから必要な値を取得できるようにすることができます。

マップの部分にUnityのUIボタンを使用している場合、プレーヤーがゾーンにアクセスできるようになるまで、interactableをfalseに設定できます。プレーヤーがゾーンにアクセスできないことを知らせるポップアップを表示する場合、ボタンは対話可能ですが、クリックはポップアップロジックメソッドに委任されます。

ゲームオブジェクトをボタンとして使用している場合は、同様の原則です。 OnMouseイベントのいずれかを使用してクリックイベントを処理します。 https://docs.unity3d.com/ScriptReference/MonoBehaviour.html

うまくいけば、正しい方向にあなたを導いてくれるでしょう。