バイナリスレで、「更新が楽しみ」というレスを頂き、うれしく思う反面、忍び寄るネタ切れの気配が気になる今日この頃です。気が付けばこのサイトを開設して1年たっているわけですが、自分でもまあよく続いたわなあと思います。当初の目的であったパッチリリースも一応行い、その解説もあらかた行ったので、やりたかったことの8割は満たせたと思っています。今後もコンテンツの性質上日陰者であるという自覚のもと、ネタが続く限りやりたいようにやらせてもらいます。書くことが無くなったら更新は無期限延期になる予定なので悪しからず。あと、変更ログの原則は「変えた直後に書く」です。作業した直後なら記憶が鮮明なので。あたりまえといえばあたりまえの話。そのかわり、書いてしまえば忘れられるのでしばらくたったら中身を完全に忘却していることが多々ありますw。
さて、前回のエントリのアニメーション部分の解析ですが一部不明としていた部分の意味がおそらくわかりました。
- 1-2)アニメーションパターンデータ(4バイトx可変+1バイト(#$FF))
00 | スプライトID |
01 | フレーム数? |
02 | X軸方向移動ピクセル/フレーム(Singed Byte,マイナスもありうる) |
03 | Y軸方向移動ピクセル(同上) |
試しにグラ提供のあった魔王の使いのスプライトを配置する際に上記部分のパラメータをちょっといじってテストしてみました。
- 初期設定(これが実際のゲーム上で使用する設定値です)
スプライトID | フレーム数 | X軸方向移動 | Y軸方向移動 |
---|---|---|---|
$00 | $20 | $00 | $00 |
$01 | $20 | $00 | $00 |
このアニメーションパターンは非常に単純で2枚しかスプライトを使用していません。それぞれ32フレームごとにスプライトを切り替えているだけです。もともとは竜の女王のアニメーションパターンのパクリです。
次に上記の設定をちょっといじり、魔王の使いに反復横跳びをしてもらいます。
- 反復横跳び
スプライトID | フレーム数 | X軸方向移動 | Y軸方向移動 |
---|---|---|---|
$00 | $20 | $FF | $00 |
$01 | $20 | $01 | $00 |
1レコード目の設定で左に32フレームx1ピクセル移動して、2レコード目の設定で右に32フレームx1ピクセル移動します。
さらに2倍速で移動してもらいます。
- 反復横跳び(2倍速)
スプライトID | フレーム数 | X軸方向移動 | Y軸方向移動 |
---|---|---|---|
$00 | $10 | $FE | $00 |
$01 | $10 | $02 | $00 |
1レコード目の設定で左に16フレームx2ピクセル移動して、2レコード目の設定で右に16フレームx2ピクセル移動します。
移動距離はフレーム数x移動速度なのでどちらも同じ距離左右に動いていることがわかると思います。というわけで、この推論はほぼ正しいのではないかと思います。ベストなのは実際にこの情報に基づいてその場でアニメーションさせてみて、ゲーム上の動きと同じことが確認できればいいのですが、現在DirectXを使って実装できないか試行中です。昔DirectXゲームプログラミングという本を買ってきて中を読んだもののさっぱり意味がわからず投げ出したのを思い出しました。今はずいぶん楽になっているようですね。だからといって1からゲームを作る気力もビジョンも絵心も無いわけですが。さらに、アニメーションプレビュー機能を実装できたとしてもDirectXが無い環境だと動かないわけで、リリースするとしてもおまけバージョンとして出そうかなと考え中です。
コメント