[Unity] EZ GUIについて(UIScrollListの使い方:その1)

こんにちは。松村です。

久々にUnity記事を書きます。今回はEZ GUIのUIScrollListを使って、
リスト表示をする方法を紹介します。
せっかくなので、以前に紹介した通信機能なども盛り込み、
Twitter search APIからツイートを取得してみました。

以前の記事はこちらになります。
Unity始めました
EZ GUIについて
EZ GUIについて(ボタン)
通信について(WWWとJSONObject)
通信について(外部画像の読み込み)
SVN(Subversion)を使って複数人開発を行う方法

さて、 UIScrollListなんですが以下のようなものを作りました。
黄色のボタンを押すと、Twitterのサーチ機能でタイムラインを取得しています。
(Unityというキーワードで検索しています。)

サンプルを見る
※ Unity Web Playerのインストールが必要になります

サンプルをダウンロードする(EZGUITweet.unitypackage)
※ EZ GUIのパッケージは含めていないので、コンパイルする場合はEZ GUIを購入してください。

iPhoneにインストールしてもスワイプでスクロールができて便利なのですが、
ここまで作るのは結構面倒です。

全部を説明するのは長くなるので、要点を書いていきます。
主に説明するところは以下のようなところです。
ちょっと長くなりそうなので、今日は1〜3までを書いていきます。

———————————————————
1.フォルダの整理

2.素材とUIScrollListの配置
 2-1:素材作成
 2-2:素材配置
 2-3: UIScrollListの配置
 2-4.UIManagerの配置

3.カメラの設定

4.動的に配置するパーツの作成(Prefab)
 4-1.アイテムの作成
 4-2.画像の作成
 4-3.テキストエリアの作成
 4-4.TweetItemにUIListItemContainerを関連づける
 4-5.TweetItemをPrefabにする
 4-6.Prefabの編集

5.メインロジックのプログラミング
 5-1.メインロジックのスクリプト作成
 5-2.他のGameObjectの参照方法
 5-3.ボタンからファンクションの呼び出し
 5-4.Tweeter APIのアクセス
 5-5.Prefabの動的配置

6.ツイートを表示するプログラミング
 6-1.JSONObjectの解析
 6-2.外部画像の読み込み
 6-3.テキストの表示
———————————————————

● 1.フォルダの整理

まずはプロジェクト内のフォルダを整理します。
簡単なサンプルでも結構たくさんの素材ができるので、
以下のようにまとめてみました。
分かりやすくするために整理しているので、
特にこれに沿ってフォルダ構造を作る必要はないです。

・Common:複数のシーンにまたがる素材を配置
(今回は使用していないです)
・Editor:Unityメニュー拡張を作りたいときは
・Plugins: EZ GUI、JSONObjectなどをインストールすると自動的にここに配置される
・SceneAssets:使用するパーツを配置する
  ・UIScrollListExamble:シーンごとにファイルを作ります
  (このフォルダ内に以下のフォルダに分けて素材を振り分けます)
    ・Materials
    ・Models
    ・Prefabs
    ・Scripts
    ・Textures
・Scenes:シーンのみを配置する
(今回は1シーンのみです)
・Sprite Altases:EZ GUIでBuild Atlasをした際のテクスチャが書き出される

● 2.素材とUIScrollListの配置

○ 2-1:素材作成

素材はPhotoshopで作りました。

こんな感じでPNGファイルでばらして、「Texures」フォルダに置いておきます。

○ 2-2:素材配置

背景(青色、白色)、ボタンをUnityに配置します。
本来なら背景はMayaなどのソフトで板ポリにするのですが、
僕は3Dソフトを扱えないので、とりあえずEZ GUIのUIButtonにして配置しました。
全部ボタンの機能があるのですが、クリックしても何も反応しないのであれば、
とりあえずこのサンプルではOK?ということにしています。

※ UIButtonの作り方は下記に紹介しています。
EZ GUIについて(ボタン)

○ 2-3: UIScrollListの配置

以下の手順で行います。

・GameObject -> CreateEmptyでGameObjectを作成します
・作成したGameObjectを「TweetUIScrollList」と名付けます
・TweetUIScrollListを選択した状態で、Plugins -> EZ -> GUI -> Controls -> UIScrollList
をドラッグして貼付けます。
・UIScrollListパネルViewable AreaのXとYの値を入力します。
・Scene内に表示エリアが赤枠で分かりますので、背景と合わせます。

○ 2-4.UIManagerの配置

EZ GUIがカメラに写るにはUIManagerを配置する必要があります。

・UIManager用のGameObjectを作成し、
Plugins -> EZ -> GUI -> Management -> UIManagerを
GameObjectにドラッグします。
・InspectorのUi Cameras -> Element 0 -> Cameraに
Main Cameraを設定してください

● 3.カメラの設定

EZ GUIでは3Dの視点はいらないので、カメラの視点を変更します。
Main Cameraを選択し、Inspectorパネル内Camera設定の
Projectionを「Orthographic」に変更します。

まだ、素材を置いただけですが、結構手順が長いですねー。ふうー。
今日はこれくらいにして、また続きは後日書きます。


・Unityで作ったiPhone、Androidアプリ”みそだ教授の「おミソわけ」”をリリースしました!
http://cshool.co.jp/apps/misodajump/jp/

・クスール学校事業部で3Dコンテンツの開発プロセスを基礎から学ぶ「Unity講座」やっています。
http://www.cshool.jp/course/unity/