サブルーチンの詳細と作成
§リンク
  →チュートリアル一覧
  →GLOSSARY一覧
  →重要な情報一覧

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

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

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

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

■チュートリアル:サブルーチンの詳細と作成
このチュートリアルでは、まずサブルーチンの詳細を学んだ後、実際にサブルーチンを作成します。
類似のチュートリアルに、「共有ライブラリ」「マクロ」「マジックブリット」がありますので、そちらもご覧下さい。
それぞれの違いについては「演出の再利用」をご覧下さい。
 
■概要
sketchのサブルーチンは、一連の同じ処理をまとめて再利用する通常の言語のものと違って、単に複雑な処理をまとめてソースを見やすくする意図で使われます。
したがって、それが定義されたRSD内では何度でも呼び出せますが、外部のRSDから呼び出すことは出来ません。外部から利用する場合は、「共有ライブラリ」を使用します。
なお、「ブロックの解説」の終わりにも、サブルーチンについての説明があります。
サブルーチン中に、テンポラリ属性以外のブロックを作成してはいけません。
これは、サブルーチン中に、セーブできるエントリーがあってはならないと言う意味です。
ブロックIDが、999999のサブルーチンはロード復帰用エントリーとして予約されています
 
■サブルーチンの作成
このチュートリアルでは、サブルーチンを作成します。
使用されているのは、「新規プロジェクトを作成する」チュートリアルで使用したプロジェクトのstartですが、どのファイルでも同じことです。
サブルーチンを作成したい場所にカーソルを合わせて、右クリックメニューの、「ブロック処理(B)」−「サブブロック挿入(F)unc」を実行します。
 
演出ビューの下に入力領域がない場合、有効な領域の一番下にカーソルをあわせて、キーボードの「i」キーを押して下さい。空行を挿入(Insert)してくれます。また、演出ビューの各行は、ドラッグで移動させることが出来ます。適当に挿入したら、最下行をドラッグして、好きな行に移動させることで、最下段に行を挿入できます。
すると、ダイアログが開きますので、ブロック番号コメントを記述してください。
ブロック番号は、このサブルーチンを呼び出すブロックIDで、このRSDの中で一意な番号でなければなりません。伝統的にサブルーチンは、9000、9001、‥‥を利用する傾向があります。ここでは、9000を使用しておきましょう。
コメントはサブルーチン一覧に表示されますから、簡潔に要約してください。
ここでは「サブルーチンテスト」と入力しておきます。
サブルーチンはサブブロックの終了コマンドで終わらなければなりません。
サブブロックを記述した場所から2行くらい下を選択して、右クリックメニューから 「ブロック処理(B)」−「サブブロック終了 (R)eturn」を実行してください。
すると、左図のようなダイアログが開きます。
各項目は、条件付きリターン文の実行条件を指定するものですが、無条件で終了する場合は、そのままOKを押せばOKです。
特定の条件のみリターンしたい場合は、条件を記述してください。
なお、個々の条件は、ANDで判定されます。
全てが終わると、左図のようになります。
この間に適切な演出を記述すればサブルーチンの完成です。
 
■サブルーチンの呼び出し
ここでは、上記で作ったサブルーチンを呼び出します。ただし、中身の処理が何も記述されていないので、実際に呼び出しても何も起こったように見えません。適当に処理を挟んでテストして下さい。
編集ビューで呼び出したい場所を選択して、右クリックメニューの「ブロック処理(B)」−「サブブロック呼び出し(C)all」を実行します。
サブブロック呼び出しダイアログが開きますから、呼び出したいブロック番号を入力してください。
「参照」は、同一RSD内のサブルーチンを、「共有参照」は、共有ライブラリのサブルーチンを参照します。共有ライブラリに関しては、「共有ライブラリの詳細と作成」をご覧下さい。
「参照」を押すことで、そのファイル内にあるサブブロックの一覧から呼び出し先を選択することができます。
先ほど作成した「サブルーチンテスト」があるはずですので、それを選択して下さい。
すると、「サブルーチンテスト」のブロックIDである9000が、呼び出しブロック番号に挿入されます。
そのしたにある条件群は、条件付き呼び出しを記述するときに使用します。
各項目はANDで評価されます。
以上でサブルーチンの呼び出しは終了です。