2016-04-28 23 views
0

私はいくつかのUI画像を使ってユニティシーンを作成しました。私はそれらをクリックして処理しようとします。私のUIイメージは以下のとおりです。android - unityをクリックしてください。

enter image description here

私は、UI画像に箱2dとの衝突を添付します。私はEventSystemインスペクタのAllow Activation on Mobile Deviceを有効にします。

enter image description here

各UIイメージはスクリプトファイルを持っています。ファイルの内容:

public void OnPointerDown(PointerEventData eventData) 
    { 
     if (eventData.clickCount == 1) 
     {     
      model3d.GetComponent<MeshRenderer>().material = newmaterial; 
      eventData.clickCount = 0; 
     } 
    } 

このコードは、最初にuiイメージをクリックするだけで材料を変更します。最初のクリックopetarionの後は動作しません。

どのようにしてui画像をクリックすることができますか?

SOLUTION

私はUI->ボタンを作成しました。 Clickプロパティでinspector->を設定しました。それは今働く。

+1

にzummaをスクリプトを変更呼び出したい方法。追加 - > UI - >ボタンをクリックするだけです。それはあなたのためのボタンを作成します。 – Fattie

答えて

0

私はあなたがUI画像にそれをしない

UI画像にあるボックス2dとの衝突を添付。 Canvasの下にない2Dスプライトに2dコライダーを接続するだけです。

は限りRaycast Targetが各Imageプロパティで確認されており、それに接続EventSystemStandalone Input ModuleスクリプトとEventSystem GameObjectがあるとして、それが動作するはずです。したがって、Canvasの下のすべての画像から2dコライダーを削除してください。

0

1-代わりに、UI画像のボタンを作る
は、あなたがクリックした後に呼ばれたいスクリプトを2作成
3アタッチゲームオブジェクトにスクリプトを(例:カメラ)
4インスペクターに、ボタン-in クリック時クリックという名前のパネルがあり+
5-選択します(例:カメラ)スクリプトでゲームオブジェクトをし、スクリプトの名前の横にし、を選択あなたは
6-たびに、あなたのスクリプトが
と呼ばれるオブジェクトをクリックすると、これは完全に間違っている、この

void changematerial() 
{ 
      model3d.GetComponent<MeshRenderer>().material = newmaterial; 

} 
+0

ボタンを作成します。同じ問題が存在する。材料は数回押した後に変化します。 – zumma

+0

ボタンをクリックするたびに材料を新しい素材に設定したいのですが、それがあなたの望むものであれば、これらの行 'if(eventData.clickCount == 1)'と 'eventData.clickCount = 0 ;単に 'model3d.GetComponent ()。material = newmaterial;' –

+0

はい、私はボタンをクリックするたびに素材を変更したいと思います。クリックカウントコントロールラインを削除しますが、結果は同じです。マテリアルはクリック操作ごとに変化しません。いくつかのクリック操作の後に変更されます。 – zumma

関連する問題