NGUI スクロールビューについて
NGUIについてまだ使ったことのないコンポーネントがたくさんあるので今回はUIScrollViewあたりを触ってみました。
この辺は非常に良くできていてスクリプトを書かずに実装までできてしまう。
分かりやすいムービはこちら。
・基本的にはScroll Viewを作ってあげて、その中に表示したいコンテンツを作成する
・UIDragScrollViewコンポーネントを持ったSpriteなどを作成し(要Collider)、作成したScrollViewを割り当てる
これだけでできてしまう。
その他できることは、Scroll Viewの下に空のGameObjectを作成し、その下に表示コンテンツを移動。作成した空のGameObjectに UICenterOnChildを割り当てるとページ幅を設定したページングができるようになる。またコードから
UICenterOnChild.CenterOn(Transform);
を呼び出せば指定の場所へスクロールできる。
UICenterOnChildではなく、UIWrapContentを割り当てるとループするスクロールがコーディングなしにできてしまう。
また、表示させる一覧のアイテムにCenterOnClickを付けると(要Collider)押されたアイテムがセンタリングされるようになる。
今回書いたコードはこれだけ。ほぼないにひとしい。
using UnityEngine;
using System.Collections;
/**
* 指定のアイテムをセンターへスクロール。
*/
public class ScrollToCenter : MonoBehaviour {
/**
* UICenterOnChildを持つオブジェクト.
*/
public GameObject centerGO;
/**
* ターゲットのオブジェクト。
*/
public GameObject targetCenterGO;
/**
* UICenterOnChild.
*/
private UICenterOnChild center;
/**
* Awake.
*/
public void Awake() {
this.center = this.centerGO.GetComponent<UICenterOnChild>();
}
/**
* センターへスクロール。
*/
public void CenterOn() {
this.center.CenterOn(this.targetCenterGO.transform);
Debug.Log(this.targetCenterGO.transform.position);
}
}

コメントを残す