おれ、Unity2Dでゲーム作るんだ。

Unity2Dをメインに、覚書などを記事にしていきます。

NGUIってボタンだけじゃなかったのね(NGUIのスプライトをドラッグ)

f:id:xev:20150210212340p:plain

NGUIって簡単に2Dボタンが作れるツールだと思ってました。
諭吉1人分のパワーを舐めては怒られますね。

NGUIでスプライトをドラッグ

そんなNGUIでスプライトがドラッグできるということで試してみました。  
EasyTouchでコントロールしようとしていたんですが、
スプライトのドラッグなどが、 なーんにも追加無しで実装出来ました。。。。
 
簡単な操作ならEasyTouch必要ないな。。。
むしろ、EasyTouch Controllerの方が本丸かな。
 
下のサンプルみたいなの書いて、NGUIのスプライトに埋め込んだら、
ぐりぐり動かせました。
 

サンプル

using UnityEngine;
using System.Collections;

public class DragTest : MonoBehaviour {

    void Start () {
        
    }

    // タッチ(true:開始、false:終了)
    void OnPress (bool isDown) {
        Debug.Log ("press:"+isDown);
    }

    // ドラッグスタート
    void OnDragStart () {
        Debug.Log ("DRAG START");
    }

    // ドラッグ中
    void OnDrag (Vector2 delta) {
        Vector2 mousePoint = UICamera.lastTouchPosition;
        Vector2 worldPoint = UICamera.currentCamera.ScreenToWorldPoint(mousePoint);
        transform.position = new Vector3(worldPoint.x, worldPoint.y, transform.position.z);
    }

    // ドラッグ終了
    void OnDragEnd () {
        Debug.Log ("DRAG END");
    }
    
}