■チュートリアル:マジックブリットへの変数埋め込み | |||||||||||||||||||||||||||
このチュートリアルでは、簡単なMagicBulletを作成して、それに変数を埋め込みます。作成する処理は、「キャラを上下に動かすことで、んっもう!という感じを出す」です。 このタイプの処理は、一般にキャラにお辞儀をさせるときに使われることが多いわけですが、同じ処理で上記のようなニュアンスを持たせることも出来ることも合わせて解説します。 |
|||||||||||||||||||||||||||
1.処理を定義する | |||||||||||||||||||||||||||
処理自体は大変簡単で、キャラを下に動かした後、上に動かすことで「ん、もう!」を表現します。 当該キャラ「みよよ」は、既に登場しているという前提で話をすすめます。 |
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
2.MagicBulletを作成する | |||||||||||||||||||||||||||
1で作成した2行を選択して、MagicBulletとして登録します。 登録方法の詳細は、「マジックブリットの詳細と作成」を参照してください。名前は、「CHARA-ん、もう!」にしておきましょう。!は全角です。この名前はファイル名にも使用されるため、ファイルシステムが取り扱えない文字は使用することが出来ません。 |
|||||||||||||||||||||||||||
3.MagicBulletをテキストエディタで開いてみる | |||||||||||||||||||||||||||
MagicBulletを作成したら、エクスプローラー等で、 |
|||||||||||||||||||||||||||
さて、mbtファイルは単なるテキストファイルですから、テキストエディタで開くことが出来ます。 | |||||||||||||||||||||||||||
MAGIC_BULLET.100 PARAM.0 ;%1./0:なし/1:LID/2:REG/3:block/〜中略〜/.explain.defaultValue .BODY CMD_C_MOVE`〜中略〜`0`3,300,3,1,0,1,0,16`対象:みよよ, ADD:(0,16), 相対指定 CMD_C_MOVE`〜中略〜`0`3,200,3,1,0,1,0,-16`対象:みよよ, ADD:(0,-16), 相対指定 CMD_TERMINATE`-1`0`0`0`` |
|||||||||||||||||||||||||||
1行目は、このファイルがMagicBullet ver.1.00
であることを意味しています。 2行目のPARAMコマンドは、半角ピリオドに続いて、このMBが持っている変数の数が書かれています。最初、変数は一つもありませんから、0になっています。 3行目はコメントで、変数定義のための書式が書かれています(半角の;から始まる行はコメント扱いされます) 4行目の、.BODYは、次の行から本文が始まることを意味しています。 5行目と6行目がキャラを移動させるコマンドです。重要なのは、「`」で区切られた行末の2つのブロックで、5行目で言うと |
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
の部分です。 背景が緑青の部分はパラメータで、コマンドによって異なるのですが、CMD_C_MOVEの場合、キャラID、移動時間、移動加速、相対移動フラグ、仮想移動フラグ、移動先表現指定、パラメータ0、パラメータ1が、半角ピリオドで区切られています。背景が黄土色の部分は、このコマンドの解説です。 |
|||||||||||||||||||||||||||
4.変数を定義する | |||||||||||||||||||||||||||
変数の定義は、2行目のPARAMコマンドから4行目の.BODY定義までの間で行い、「変数名、変数の種類ID、変数の説明、デフォルト値」の4つの項目を半角ピリオドで区切ったものになります。 | |||||||||||||||||||||||||||
変数を定義するためには、まず何を変数にするのかを決めなければなりません。 まず思いつくのは「対象となるキャラクター」でしょう。 このままでは、「みよよ」というキャラにしかつかえませんから、これを変数にします。 retouchでは、キャラは、「キャラクターID(以下CID)」で管理されます。 sketchで作業している場合、CIDは隠されていますから意識することは少ないですが、例えば、立ちキャラが使用しているレイヤーIDが、1000+CIDになっていたりします。上記コマンドでは、CIDの部分と、キャラの名称の部分の2箇所がありますから、両方変数にしてしまいましょう。 |
|||||||||||||||||||||||||||
次に、「移動量」でしょう。 上下方向に何ピクセル動くのかを変数にすることで、大きな動作と小さな動作を作ることが出来ます。 |
|||||||||||||||||||||||||||
さらに、移動量があるなら「移動時間」も変更できるようにしましょう。 下向きの移動時間と、上向きの移動時間の両方を再定義可能にすることで、バリエーションが作れそうです。 とりあえずこれだけを変数に置き換えてみましょう。 |
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
以上のことをふまえて、書き直したものが、次になります(中略部分は同等です) | |||||||||||||||||||||||||||
MAGIC_BULLET.100 PARAM.5 ;%1./0:なし/1:LID/2:REG/3:block/〜中略〜/.explain.defaultValue |
|||||||||||||||||||||||||||
%1.8.キャラクターの名称.* %2.7.キャラクターID.0 %3.0.移動量.16 %4.0.移動時間↓.300 %5.0.移動時間↑.200 |
|||||||||||||||||||||||||||
.BODY CMD_C_MOVE`〜中略〜`0`%2,%4,3,1,0,1,0,%3`対象:%1, ADD:(0,%3), 相対指定 CMD_C_MOVE`〜中略〜`0`%2,%5,3,1,0,1,0,-%3`対象:%1, ADD:(0,-%3), 相対指定 CMD_TERMINATE`-1`0`0`0`` |
|||||||||||||||||||||||||||
sketchは、MB展開前に、定義された変数に入力した値で本文を書き換える操作を行います。 変数の種類IDに0以外が指定されると、値を入力する時に、その種類のオブジェクトや値を参照することが出来るようになります。例えば7はキャラクターIDを意味しますが、この値を入力するとき、キャラ一覧から選択することが出来るようになります。 0が指定された場合、参照ボタンは無効化され何も参照できなくなります。 最後に、現在利用できる変数の種類IDを列挙しておきます。 |
|||||||||||||||||||||||||||
|