八方向移動
多少難点を抱えている動作もありますが、とりあえず動作を当てはめてその他のオブジェクトの動きや関係を見たい場合や、ロジックを先に点検したい時などこの標準動作は頼りになります。筆者も普段作り始めは標準動作でまず動きを当てはめてみて、作りこんでいく過程で必要になったら自作の動作に切り替えて使っています。
標準動作の8方向を使っていて問題だと感じる点はどこでしょうか。それはたぶんコリジョンを検出する時まで問題点には気が付かないかもしれません。筆者の場合、MMF2を使っていてこれは自作の動作を作る必要があるなと感じるときは大体そんなときです。標準動作の仕様をすべて完璧に覚えるよりも、自分で作ったほうが速いかも、と。
標準動作の八方向に問題があるというよりも個人の開発者はだいたい我侭なものなので、自分の考えた8方向動作と違う挙動をするとこれは駄目だと結論を出します。でもオーダーメイドと既製品の違いだからこれは仕方ないです。そしてその場合MMF2は自分のゲーム仕様に合わせて自分で動作を一から作ることができる自由度を持っているツールです。
「8方向動作」の自作
サンプルの列挙
作者:Bigfoot
作者:不明(2011/05/20(金) ID:Yo1uFggO)Multimedia Fusion2 アップローダより
作者:drnebula
★確認用:Java出力
これら3つのうち今回、drnebulaのサンプル「8dir_spacemovement_widget_rev2」をベースに大幅な改造を加えた自作をします。ベースにはコリジョン処理が含まれていないので、これも自作で付ける。デテクタの付け方は好みだが筆者は8方向なら1つでやりたい。またMultimedia Fusion2アップローダのサンプルは高速ループを使わない処理なのでこれだとスピードアップの処理を加える際に問題が出てきます。改造のベースはBigfootの「fastloop topdown movement example」でも良いかと思ったのですが今回カメラは不要で、高速ループの回し方を解説するためには自分のロジックを使って、また実際の動作でも確認したかったからBigfootのサンプルはあえて参考にしませんでした。でも結果的にBigfootのサンプルと似たような処理にはなっていますが彼のサンプルの方が筆者のよりスマートです。