FC2ブログ
    08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【Unity】Unity&Orthelloによる2Dゲーム作成② 

    月曜担当の坂内です。暑い日が続いています。
    倒れないように水分はこまm(ry

    ええと、Orthelloによる2Dゲーム作成第2弾ということで、
    Spriteの移動について簡単に書いていきたいと思います。

    Unityにおける、オブジェクトの基本的な移動は以下になります。

    ◆オブジェクトに必ずついている、Transformコンポーネントのposition
     の値を変更する。
     
     ●gameObject.transform.Translate(new Vector3(1,1,0));
      Translateという命令で引数のVector3方面への移動。
      上記の例だと、x方向に1、y方向に1進めという意味。
     ●gameObject.transform.position = new Vector3(100,0,10);
      transformpositionにVector3の位置を代入。
      gameObjectの場所をVector3の位置に移動。
     などの方法で移動させます。
     
    ◆オブジェクトについている、Rigidbodyコンポーネントに力を加える。
     ●gameObject.rigidbody.AddForce(new Vector3(10,5,1));
      rigidbodyにVector3の力を加える。
     他
     
    となります。

    次に、iTweenを使った、移動方法をば。

    iTweenの基本的な使い方は以下になります。

    iTween.MoveTo(オブジェクト,iTween.Hash(ほにゃらら));
    iTween.MoveFrom(オブジェクト,iTween.Hash(ほにゃらら));
    ◆iTween.MoveAdd(オブジェクト,iTween.Hash(ほにゃらら));
    など。

    ほにゃららのところには直接iTween.Hash()を書く方法と、
    HashTableを作成して書く方法があります。

    (testという名のオブジェクトを移動する場合)

    void Update () {
    // スペースキーをおしたよ.
    if(Input.GetButtonUp("Jump")){
    Hashtable hash = new Hashtable ();
    hash.Add("x",50f);           //①
    hash.Add("time",1f);          //②
    hash.Add("easetype",iTween.EaseType.easeInOutBack); //③
    iTween.MoveAdd(GameObject.Find("test"),hash); //④
    }
    }




    void Update () {
    // スペースキーをおしたよ.
    if(Input.GetButtonUp("Jump")){
    iTween.MoveAdd(GameObject.Find("test")
          ,iTween.Hash("x",50f,"time",1f,"easetype"
          ,iTween.EaseType.easeInOutBack));
    }
    }



    ①移動する座標をx座標50として指定。
    ②移動する時間を1秒として指定。
    ③移動する際の動き方をeaseInOutBackとして指定。
     他にもいろいろな動き方があります。
    ④MoveAddにて、上記の動きを追加。
     MoveAdd Hashの動きを追加。
     MoveTo Hashの場所へ移動。
     MoveFrom Hashの場所から今の場所へ移動。(?)
    という感じで使用できます。

    この際、注意として、Orthelloを使用していると、transformpositionとは別に、
    OTSpriteのpositionが存在しています。
    移動した際には、iTweenまたはtransformでの移動後に、以下のコードを追加しないと
    うまく動かない場合があります!(動く時とうまく動かない時の違いがわからない・・・)

    OT.Sprite("オブジェクト名").position = オブジェクト.transform.position;

    以上でUnityにおけるオブジェクトの動き方メモ終了!!

    さぁ、これでゲーム作成に1歩近づきましたね!

    (使い方間違えている等の指摘ありましたらお願いします!)

    Category: 開発日記(Unity)

    Thread: 日記

    Janre: 日記

    Tag: iTween  Orthello  Android  ゲーム  2Dゲーム  Unity  transform  position  Rigidbody 
    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/7-d53433ba
    この記事にトラックバックする(FC2ブログユーザー)