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