万年素人からHackerへの道

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

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

    ex2Dでのanimationとの置き換え Unity

    最近はC#で書いてます。


    http://www.ex-dev.com/ex2d/script_ref/classex_sprite_animation.html
    このドキュメントが参考になります

    if (!animation.isPlaying) {
    }
    

    ↑animation

    exSpriteAnimation exAnim = gameObject.GetComponent<exSpriteAnimation>();
    if (!exAnim.IsPlaying("anim")) {
    }
    

    ↑ex2D
    こうする(iが大文字のIになってる「IsPlaying」のに注意)
    しかも、引数が必須!

    animation.CrossFade("animName");
    

    ↑animation
    この代用がない??

    • カプセルコライダーの計算について
    collider.radius + collider.height / 2 + 0.2f;
    

    この計算が解せなかった。
    カプセルは、高さheightの"円柱"の上下に半径radiusの半球が"上"と"下"にくっついてる。
    よって、半球の上下の半球が2つなので「collider.radius」となり、真ん中に挟まれた円柱の高さがcollider.height / 2
    あれ?なぜ2で割るの?
    おそらく、

    this.layOriginOffs = new Vector3(0.0f, 0.5f, 0.0f);
    

    このせいで、キャラのポジションが少し上になるから?

    • SetAnimationStateメソッドの追加の部分にあるミス
    void SetAnimationState(AnimationState s) {
        //this.AnimationState[this.CurAnimPos] = s;
        this.AnimState[this.CurAnimPos] = s;
    }
    
    AnimationState GetOldAnimationState(){
        //return this.AnimationState[this.CurAnimPos ^ 0x1];
        return this.AnimState[this.CurAnimPos ^ 0x1];
    }
    
    • 移動の部分のミス
    thislWalkSpeed = 4.0f;
    

    ↑.とlをミスっている

    this.WalkSpeed = 4.0f;
    

    ↑こうする

    • 0x7fffff7fの秘密

    ~(1<<8) == 0x7fffff7fらしい
    ~はビット反転?
    http://unity3d.com/support/documentation/Components/Layers.html