マジックブリットへの変数埋め込み
§リンク
  →チュートリアル一覧
  →GLOSSARY一覧
  →重要な情報一覧

§初めてのsketch
  1.新規プロジェクトの作成
  2.プロジェクトの設定
  3.キャラクターを作成する
  4.立ちキャラの画像定義
  5.音声再生を有効にする
  6.デバッグ
  7.製品を作成する(リリース)

§基本演出TIPS
  イベント画像の表示
  ズームを利用した表示
   

§よくある処理
  演出の再利用
  メッセージにルビを振る
  環境音の作成
  タイトルメニューの作成
  CGモードの作成

§リソースの作成
  サムネール/パネル形式
   
   

■チュートリアル:マジックブリットへの変数埋め込み
このチュートリアルでは、簡単なMagicBulletを作成して、それに変数を埋め込みます。作成する処理は、「キャラを上下に動かすことで、んっもう!という感じを出す」です。
このタイプの処理は、一般にキャラにお辞儀をさせるときに使われることが多いわけですが、同じ処理で上記のようなニュアンスを持たせることも出来ることも合わせて解説します。
 
1.処理を定義する
処理自体は大変簡単で、キャラを下に動かした後、上に動かすことで「ん、もう!」を表現します。
当該キャラ「みよよ」は、既に登場しているという前提で話をすすめます。
まず、キャラを下に移動させましょう。
右クリックメニューから、「キャラ演出−移動」を選択します。
するとダイアログが表示されますので、ここで、300ms下に16ピクセル移動させるよう指定します。移動加速を loga(x)補完にするのがポイントです。
すると、こうなります。
1行下で、もう一度同じ操作を行ってキャラを上に移動させます(移動時間を200ms、移動先座標を0,-16に設定しました)
 
CTRL+C/CTRL+Vで行をコピーしてから編集すると楽です。
これで完成です。 単に下に動かしてから元に戻すだけですが、移動加速にloga(x)補間を使用すると、ためが出来「ん、もうっ!」になります。
ここを直線補間にすると、ぺこりといった感じのお辞儀になります。
 
2.MagicBulletを作成する
1で作成した2行を選択して、MagicBulletとして登録します。
登録方法の詳細は、「マジックブリットの詳細と作成」を参照してください。名前は、「CHARA-ん、もう!」にしておきましょう。!は全角です。この名前はファイル名にも使用されるため、ファイルシステムが取り扱えない文字は使用することが出来ません。
 
3.MagicBulletをテキストエディタで開いてみる
MagicBulletを作成したら、エクスプローラー等で、/ide/data/mbt/を開いてみましょう。 するとそこに「CHARA-ん、もう!.mbt」というファイルが作られているはずです。これが、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行目で言うと
  3,300,3,1,0,1,0,16   対象:みよよ, ADD:(0,16), 相対指定
の部分です。
背景が緑青の部分はパラメータで、コマンドによって異なるのですが、CMD_C_MOVEの場合、キャラID移動時間移動加速相対移動フラグ仮想移動フラグ移動先表現指定パラメータ0パラメータ1が、半角ピリオドで区切られています。背景が黄土色の部分は、このコマンドの解説です。
 
4.変数を定義する
変数の定義は、2行目のPARAMコマンドから4行目の.BODY定義までの間で行い、「変数名、変数の種類ID、変数の説明、デフォルト値」の4つの項目を半角ピリオドで区切ったものになります。
変数を定義するためには、まず何を変数にするのかを決めなければなりません。
まず思いつくのは「対象となるキャラクター」でしょう。
このままでは、「みよよ」というキャラにしかつかえませんから、これを変数にします。
retouchでは、キャラは、「キャラクターID(以下CID)」で管理されます。
sketchで作業している場合、CIDは隠されていますから意識することは少ないですが、例えば、立ちキャラが使用しているレイヤーIDが、1000+CIDになっていたりします。上記コマンドでは、CIDの部分と、キャラの名称の部分の2箇所がありますから、両方変数にしてしまいましょう。
次に、「移動量」でしょう。
上下方向に何ピクセル動くのかを変数にすることで、大きな動作と小さな動作を作ることが出来ます。
さらに、移動量があるなら「移動時間」も変更できるようにしましょう。
下向きの移動時間と、上向きの移動時間の両方を再定義可能にすることで、バリエーションが作れそうです。
とりあえずこれだけを変数に置き換えてみましょう。
  変数名 デフォルト値
キャラクター名 %1 *
キャラクターID %2 0
移動量 %3 16
移動時間↓ %4 300
移動時間↑ %5 200
変数定義
%1.0.キャラクターの名称.*
%2.7.キャラクターID.0
%3.0.移動量.16
%4.0.移動時間↓.300
%5.0.移動時間↑.200
変数名は、一意に識別できさえすれば任意なのですが、伝統的に%+数字が使われます。
以上のことをふまえて、書き直したものが、次になります(中略部分は同等です)
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を列挙しておきます。
ID 説明
0 参照はありません
1 レイヤーID
2 レジスタ番号
3 ブロック番号
4 CGファイル名
ID 説明
5 DLTファイル名
6 MPGファイル名
7 キャラクターID
8 キャラクター名