【Unity】uGUIで複数オブジェクトを置いてボタンっぽいのつくってみたよ。
こんにちは!金髪です。
昨日は1日外出していたため、ブログ1日ずれましたorz
ということで、次回ポケガ2のアップデートの宣伝からです。

はい!ということで、可愛い声が入るので、お楽しみに!
んでは、Unityのお話。
とっても初心なお話になります。

こんなボタン作ろうとした時の方法。


という画像を用意します。
まずはボタンのオブジェクトとしてmyButtonというGameObjectを置き、その中に黄色の絵、Text、ピンクの画像を置きます。
uGUIなのでもちろん表示する順番で並べてください。

こんな感じですね。
で、ButtonのオブジェクトをmyButtonに付けて、ButtonコンポーネントのTarget Graphicに、黄色のImageかピンクのImageをつければ完成。

他にも黄色のオブジェクトにButtonコンポーネントをつけて、Textオブジェクトと、ピンクオブジェクトのRaycast Targetのチェックを外しても同じようなのが作れます。
ただ、この方法だと、ボタンを押している時に、黄色オブジェクトまたはピンクオブジェクトの片方だけグレーアウトします。(ButtonクラスのTransitionにて押されている感じを出しているやつ)
黄色オブジェクト、ピンクオブジェクト両方を押されている時にグレーアウトするため、こんなコードを書いてみました。
[MyButton.cs]
こいつをMyButtonのオブジェクトにつけて、innerImageとして黄色とピンクのオブジェクトをアサインしておきます。
こんな感じでやれば、ボタンの中にあるImage全部を同時に光らせたりグレーアウトができます。
他にもいい方法あったら教えてください!
ではアデュ~ノシ
昨日は1日外出していたため、ブログ1日ずれましたorz
ということで、次回ポケガ2のアップデートの宣伝からです。

はい!ということで、可愛い声が入るので、お楽しみに!
んでは、Unityのお話。
とっても初心なお話になります。

こんなボタン作ろうとした時の方法。


という画像を用意します。
まずはボタンのオブジェクトとしてmyButtonというGameObjectを置き、その中に黄色の絵、Text、ピンクの画像を置きます。
uGUIなのでもちろん表示する順番で並べてください。

こんな感じですね。
で、ButtonのオブジェクトをmyButtonに付けて、ButtonコンポーネントのTarget Graphicに、黄色のImageかピンクのImageをつければ完成。

他にも黄色のオブジェクトにButtonコンポーネントをつけて、Textオブジェクトと、ピンクオブジェクトのRaycast Targetのチェックを外しても同じようなのが作れます。
ただ、この方法だと、ボタンを押している時に、黄色オブジェクトまたはピンクオブジェクトの片方だけグレーアウトします。(ButtonクラスのTransitionにて押されている感じを出しているやつ)
黄色オブジェクト、ピンクオブジェクト両方を押されている時にグレーアウトするため、こんなコードを書いてみました。
[MyButton.cs]
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
using System;
public class MyButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler {
public UnityEngine.UI.Image[] innerImage;
public void OnClickButton() {
// ボタンクリックした時の処理
}
public void OnPointerDown(PointerEventData eventData) {
foreach(UnityEngine.UI.Image btnImg in innerImage) {
btnImg.color = new UnityEngine.Color(0.5f, 0.5f, 0.5f);
}
}
public void OnPointerUp(PointerEventData eventData) {
foreach(UnityEngine.UI.Image btnImg in innerImage) {
btnImg.color = new UnityEngine.Color(1f, 1f, 1f);
}
}
}
こいつをMyButtonのオブジェクトにつけて、innerImageとして黄色とピンクのオブジェクトをアサインしておきます。
こんな感じでやれば、ボタンの中にあるImage全部を同時に光らせたりグレーアウトができます。
他にもいい方法あったら教えてください!
ではアデュ~ノシ
Category: 開発日記(Unity)
« 【Unity】iOS7系のShare対応上げました!直るといいですね!(ぇ そして今週も小ネタ…orz | うーん。相変わらず技術ネタはないわけです。エディター拡張入門って無償公開されてたんですね。 »
コメント
| h o m e |