強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Unityでのボタンの使い方

完成画像はこちら。

作成手順


A:メニューを作成
メニューから GameObject -> Create Empty でゲームオブジェクトを作成。名称を Menu に変更する。
B:プログラムの割当て
JavaScriptファイルを作成する。名称は Test に変更。プログラム内容は以下。

var mainmenuSkin : GUISkin;

var sampleTexture : Texture2D;

function OnGUI ()
{
	GUI.skin = mainmenuSkin;

	// 1
	GUI.Button (Rect (10,10,100,100), "Push!!");
	// 2
	GUI.Button (Rect (10,120,100,100), sampleTexture);
	// 3
	GUI.Button (Rect (120,10,100,100), GUIContent("Push!!", sampleTexture));
	// 4
	GUI.Button (Rect (120,120,100,100), GUIContent ("Push!!", "Button 4"));
	// 5
	GUI.Button (Rect (230,10,100,100), GUIContent ("Push!!", sampleTexture, "Button 5"));
	// 6
	GUI.Button (Rect (230,120,100,100), GUIContent ("", sampleTexture, "Button 6"));
	// Tool Tip
	GUI.Label (Rect (10,Screen.height-20,100,20), GUI.tooltip);
}

このプログラムを Menu にドラッグし、割り当てる。
C:テクスチャの割当て
プログラムに記述した var sampelTexture : Texture2D; はInspectorビューのドロップダウンでテクスチャを指定します。

今回はこの様なテクスチャ(名称はstar)を準備して使用しました。

プログラムのコメントと実際の画面の対応と内容はこの様になります。

1:テキストのみのボタン
2:テクスチャのみのボタン
3:テキスト+テクスチャのボタン
4:テキスト+ツールチップのボタン
※ボタンの上にマウス置くと Button 4 がツールチップ(Tooltip)の位置に表示されます。
5:テキスト+テクスチャ+ツールチップのボタン
6:テクスチャ+ツールチップのボタン

今回試したところ3や5など「テキスト+テクスチャ」では上手く描画されませんでした。
バグか使い方が悪いか今のところ不明です。分かりましたら追記や修正します。

とりあえず、文字を記述したテクスチャを準備すれば実用には問題なさそうです。

参考サイト

ボタンの使い方について

Unity - GUI Basics
http://unity3d.com/support/documentation/Components/gui-Basics.html

GUIContentについて

GUIContent
http://unity3d.com/support/documentation/ScriptReference/GUIContent.GUIContent.html