キャラを歩かせる

アニメーション名.txtの作成

歩かせる前にまず立ち止まっている状態のアニメーションを作成します。
今回はtipsファイルの素材を利用している前提で話を進めます。
まず~/game/chara/キャラ名/AnimationList.txtに以下の内容を追加する。
(詳しくはアニメーションを作るを参照)
[ Stand ]
1
1
16 16
0 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
0.983
1
[ preWalk ]
2
2
16 16
42 43 44
0.14
0
[ walk ]
2
2
16 16
0 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44
0.75
1

アニメーション制御概要と停止

次に~/game/chara/キャラ名/ACTに
Stand.txtを作成します。
(■は半角スペースに置き換える)
[ globalStatus ]

[ ControlStatus ]
■■■■■■■■■■■■■■■■■■■■1
(簡易解説:この場合左右反転が有効になっている。)
[ CreateAttack ]

[ CriterionPoint ]
0.5■-0.6■0■0.5■0.5■0■-0.5■0
(簡易解説:基準点。今のところ時に気にしなくて良い)
[ MoveStatus ]
1■0■0■0■-50■■0
[ foot&WallCollision ]
  • 0.300■0.900■0.350■0.900■0.350■0.999■-0.300■0.999■0■0■8.5■10
(簡易解説:足元の当たり判定。下画像参照)
[ AttackHitCollision]
0■-0.5■9■10■■
(簡易解説:攻撃の当たり判定。)
[ WallGraspCollision ]
0■-0.9■14■5
(簡易解説:崖捕まり用当たり判定)
[ CreateObject ]

[ PlaySound ]

[ AnimationManage ]
Change preWalk■■■0■0.2■1.0■-0.2■0.2■■■■■■■0■1■■■■■■■■■■■■■■■■■■
Change■LowAttack■■■■■■■■■■■■■■■■■0■1■■■■■■■■■■■■■■■
[ AnimationManage(AnimationFinished) ]

スペースの都合で改行を入れてありますが、[ AnimationManage ]と[ AnimationManage(AnimationFinished) ]の間は1行です。

解説

アニメーション名.txtを見ていただければ大体のことは書いてあるのでここでは主な2箇所のみ解説を行います。

[ MoveStatus ]
1■0■0■0■-50■■0
赤線が右向き時の前方向で青線が同じく後ろ方向。左向きになれば当然反対になる。

ブレーキモード有効、アナログスティックによる速度と加速度の調整は無効、
加速方向は後ろ向きに50,ブレーキモードが有効なので0以下になった場合速度を0にする。
ということを意味します。
要はブレーキです。別のtipsで取り上げるブレーキ処理で止まり切れなかった場合に
自動的に止まる役割を持ちます。

[ AnimationManage ]
Change preWalk■■■0■0.2■1.0■-0.2■0.2■■■■■■■0■1■■■■■■■■■■■■■■■■■■
Change■LowAttack■■■■■■■■■■■■■■■■■0■1■■■■■■■■■■■■■■■
アナログスティックを使っている場合は(右向きの時は右方向に)0.2以上1.0以下の傾きで
かつy方向の傾きが-0.2から0.2の間であるとき、アナログスティックを使用していないときは
(右向き時)右ボタンを押した時、アニメーションをpreWalkに切り替えます。
もしこの条件を満たさなかった場合で、
かつパンチボタンを押したときアニメーションがLowAttackに切り替わります

プログラム風に書くと、1行で
if(0.2<アナログスティックX<1.0&&-0.2<アナログスティックY<0.2){アニメーション = preWalk}
else if(Pushパンチ == ture){アニメーション=Lowattack}
を表現しています。(ややこしくなるのでアナログスティックでの操作しか書いてないです。)
この条件をいくつも作る事で走ったり止まったり飛んだりいろいろな動作を行います。

歩く

ややこしい解説が終わったところで実際に歩く際の処理を追加します。
アニメーション名.txt内には大量にさまざまなステータスが書き込まれていますが、
実は[ MoveStatus ]と[ AnimationManage ]と[ AnimationManage(AnimationFinished) ]以外
は全部同じなのでこれ以降上の3つのステータスと簡単な解説のみ書き入れていきます。

  • 歩きまでのステップ
歩くという動作に至るまでに以下のステップが存在します。(右向き時)
止まる→右ボタンを押す→歩きの前動作→右を押しっぱなしにする→歩く
歩き→右ボタンを離す→止まる

余計な事をしてるようにも見えますが、
歩きの前動作は走るに派生させるための大事なアニメーションです。
詳しくは走るのtipsで解説します。

  • ファイル作成の解説
prewalk.txt
[ MoveStatus ]
1 0 20 60
(前方向に20加速,60以上になったら速度を60に設定します)
[ AnimationManage ]
Change Stand 0 0 0.2 0 0 Change prerun 0 0.9 1.0 0
(アナログスティックの傾きが0.2以下になるか右ボタンが押されていないときアニメがStandに変わる(=止まる)。prerun方は省略)
[ AnimationManage(AnimationFinished) ]
Change walk
(prewalkのアニメーションが終了したとき、アニメーションをwalkに切り替える。)

Walk.txt
[ MoveStatus ]
1 0 0 1 20 45
(アナログスティックを使用しているとき、傾きで最高速度(45)の値が上下します(0~45))
[ AnimationManage ]
Change Stand 0 -1 0.2 0 0
(スティックの傾きが0.2以下になるか右ボタンが押されていないときアニメーションがStandに変わる)
[ AnimationManage(AnimationFinished) ]
Change Walk
(ループが有効なアニメなので必要ないが設定をしておく。)

簡単に解説しましたが実装済みのファイルで上の値を弄ると滑ったりきびきび動いたりと
いろいろな動きを楽しめます。
基本は上に一折書き記してありますので、走る以降のtipsでは動作の流れと簡単な変数解説のみとなります。
最終更新:2008年04月18日 17:04
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。