http://imgur.com/a/owX1RUnity5。 UIボタンをクリックすると、その背後のGameObjectがクリックされます
[アップグレード]または[売り]ボタンをクリックすると、 の後ろのタレットが有効になります。どうすれば変更できますか? (これはタッチ入力付きのモバイルゲームです)。私はオーデルは、私は単にインスペクタでそれを変更することができますか?あなたの答えてくれてありがとうを実装する必要があります任意のコード:)
http://imgur.com/a/owX1RUnity5。 UIボタンをクリックすると、その背後のGameObjectがクリックされます
[アップグレード]または[売り]ボタンをクリックすると、 の後ろのタレットが有効になります。どうすれば変更できますか? (これはタッチ入力付きのモバイルゲームです)。私はオーデルは、私は単にインスペクタでそれを変更することができますか?あなたの答えてくれてありがとうを実装する必要があります任意のコード:)
最初にこれを使用してチェックしてみ..
public static bool IsPointerOverUIObject() {
PointerEventData eventDataCurrentPosition = new PointerEventData(EventSystem.current);
eventDataCurrentPosition.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventDataCurrentPosition, results);
return results.Count > 0;
}
あなたはUIボタンのスクリプトを意味していますか?あなたの素早い答えのためにBtwありがとう – Oliver
私は精巧にすべきだった。クリックしなければならないかどうかを確認するUI要素の後ろにあるかもしれないGameObjectsでそれを使用してください。 –
は、UI上でレイキャストトリガーをチェックしてみあり画像では、レイキャストやマウスクリックもブロックする必要があります。 ここをクリックdocumentation reference
Raycastトリガーで何を意味するのか説明できますか? – Oliver
ボタンUIオブジェクトのUnityには、ImageコンポーネントにRaycast Triggerチェックボックスがあるはずです。 –
3Dオブジェクトをタッチしたりクリックしたりする方法を変更する必要があります。 'EventSystems'を使用してください。複製された質問の答えから、「6.For 3Dオブジェクト(メッシュレンダラー/任意の3Dコライダー)」を参照してください。 'EventSystem.IsPointerOverGameObject'を使うこともできますが、これは回避策に過ぎません。 – Programmer