万年素人からHackerへの道

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

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    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