Featured
Guide Index
2-4. プログラムの解説

この回では、2-3で入力した綾織プログラムについて解説します。前回のプログラムは、大きく分けて2つの部分に分けられます。
まず、以下のコードを見てみましょう。
[code lang=”cpp”]
int LoadBitmap( string fname );
void DisplayImage( int effectflg );
void Talk( string str );
[/code]
この部分では、プログラム中に使用する3つの命令文を箇条書きし、これらがプログラムの中に出てくることをChararinaに知らせています。これをプロトタイプ宣言といいます。
プロトタイプ宣言はプログラムを記述する時に、一番最初に必ず行わなければなりませんここでは説明のため、利用する命令文のみについて明示的に宣言しています。このように、使用している命令だけについてプロトタイプ宣言する方が実行ファイルのサイズが小さくなりますが、ブロードバンド時代の現在では特にサイズを気にする必要はありません。通常はPDKに含まれる、標準関数のヘッダファイルを利用することをお勧めします。この方法は簡単な上、いちいち確認せずにChararinaの持つすべての命令を使用することができます。

次に、2つめの部分を見てみましょう。
[code lang=”cpp”]
action StartUp@(false){
//起動時のアクション。

LoadBitmap(“chara.hp3”);
DisplayImage(0);

Talk(“こんにちは。”);
}
[/code]
ここでは、実際の動作を記述しています。命令文は記述した順番にChararinaに実行されます。
上の例では、まずLoadBitmapでchara.hp3というファイルを読み込み、DisplayImageで画面に表示しています。そのすぐあと、Talkで「こんにちは。」と吹き出しに表示しています。

この例では、命令文をaction StartUp@(false){}ブロックの中に記述しているため、「Chararinaがキャラクターを起動したとき」に実行されます。これをアクションといいます。

命令文の実行されるとき(イベント)に応じていくつものアクションがあります。試しに上の例のStartUpShutdownに書き直して実行してみてください。キャラクターを起動したときには何も表示されませんが、タスクバーからChararinaを終了されたときに命令が実行されるはずです。

さて、以上で前回のプログラムの解説はほぼ終わりとなります。画面に画像や文字を出すことは難しくありませんが、細かなChararinaの仕様を覚えていくのが少し疲れるかもしれませんね。そんなときは、PDKに含まれるマニュアル、または次のページを読んでみましょう:公式 Chararinaキャラクター開発仕様書

アクションや命令には色々な種類があります。起動したとき、終了するとき、クリックされたとき、etc。画面に画像を表示する命令だけでなく、音声を再生したり、選択肢を出したりする命令もあります。それらすべてを解説することはできませんが、使い方はどれもほとんど一緒ですから、自分で試してみるのがよいでしょう。

まとめ:

  1. プログラムの一番最初には、プログラム中で使う命令のプロトタイプ宣言が必要です。
  2. 命令は書いた順番に実行されます。
  3. アクションを使い分けることで命令文をいつ実行するかを選べます。
このエントリは2007年1月16日火曜日の1:22:14 にキャラクター作成 実習編分野として掲載されました。
コメント, またはトラックバックをどうぞ。


:
:
:

XHTML: 次のタグが使用可能です: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

対スパム: 次の英単語を含む投稿は承認されるまで表示されません: よくあるスパムワード



Warning: Use of undefined constant wp_comment_quicktags_plus - assumed 'wp_comment_quicktags_plus' (this will throw an Error in a future version of PHP) in /home/users/0/lolipop.jp-dp53032929/web/wordpress/wp-content/themes/grimmdf/comments.php on line 79