万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Unity Advent Calendar 2012 6日目 Title:「GoKit実践 シーン1. Simple Tween解説」

URL: http://atnd.org/events/34621

shinriyoです。
何書くか思いつかなかったので、
もうひとつのアドベントカレンダーで紹介されたGoKitを実際に使ってみたいと思います。
使い方も書いてよーって、当て付けがましいかもしれないけど・・。

URL:http://qiita.com/items/928823800a38a9dbb601
情弱なので存在すら知りませんでした。

1. 導入
githubからやります。

・gitからコピー

git clone https://github.com/prime31/GoKit.git

そのあと、単にドラッグしないようにしましょう。まぁ普通しませんが、僕は間違えましたw

このようにクローンしたフォルダを”プロジェクトとして開く”のが正解!

すでに解説にもありましたが、Demoフォルダに5種類シーンがありますね、

最初の「1. Simple Tween」を見ていきます
残りの2〜5は別の日に解説しますね。ネタがないので、てへぺろ

1. Simple Tween
"実行時"に、Hierarchyには"GoKit"みたいなGameObjectがありますが、これは気にしなくていいです。

注目に値することは、"ui"のGameObjectです。

このGameObjectのInspectorを確認すると、
1. "SimpleTween.cs"というScriptが貼ってある。
2. シーン上に配置しているCubeのTransformをアサインしている。
この2点が重要。

・SimpleTween.cs(タブ嫌いなので半角スペースにしたりコード整形した)

using UnityEngine;
using System.Collections;

public class SimpleTween : BaseDemoGUI
{
    public Transform cube;
    
    void Start ()
    {
        // setup a position and color tween that loops indefinitely. this will let us play with the
        // different ease types
        _tween = Go.to (cube, 4, new TweenConfig ()
            .position (new Vector3 (9, 4, 0))
            .materialColor (Color.green)
            .setIterations (-1, LoopType.PingPong));
    }
}

親クラスBaseDemoGUIを継承しています。

この親クラスを見ると、
_tweenが"AbstractTween"型だということ。
OnGUIが定義されてて、GUIを作っていることがわかります。
多分自分で作るときはAbstractTweenで型を宣言し、

        _tween = Go.to (cube, 4, new TweenConfig ()
            .position (new Vector3 (9, 4, 0))
            .materialColor (Color.green)
            .setIterations (-1, LoopType.PingPong));

【解説】
Go.to (対象のobject, 何秒で移動完了の秒, 設定)
です。
objectっとわざわざ書いたのはGameObjectでもTransformでもなく、objectでした。

この"設定"は、TweenConfig型で定義します。
このサンプルは
position・・・目的地のポジション(※localPositionもありました)
materialColor・・・マテリアルの色。今回グリーン
setIterations・・・ 第1引数:繰り返す数 ※-1は永久,
         第2引数:ループの種類、今回ピンポン(行って帰ってくる)LoopType.RestartFromBeginningとやればまた最初の位置に来てから行くはず。

という感じです。

BooのアドベントカレンダーでGoKit実践もしてみるかもしれません。
次回の方よろしくお願いします。
また僕だったら、次回は「GoKit実践 シーン2. Tween Chain」をするかもしれませんよw