HSP3講座〜0から他の講座までのつなぎ〜 
ステップ10:音を追加し、透明色を使ったアニメを作ってみよう。

満月芸夢topへ
HSP3講座topへ

<<前へ 次へ>>

【目次】
ステップ0:HSP3をダウンロードしてゲームを作る準備をしよう。
ステップ1:エディタを立ち上げて画面を表示してみよう。
ステップ2:画像を表示してみよう。
ステップ3:文字を表示してみよう。
ステップ4:実行ファイルを作ってみよう。
ステップ5:変数を使ってみよう。
ステップ6:ループ文やif文、乱数を使ってみよう。
ステップ7:goto文、gosub文を使ってみよう。
ステップ8:これまでの内容でゲームを作ってみよう。
ステップ9:配列変数を使い、スクリプトの分割をしてみよう。
ステップ10:音を追加し、透明色を使ったアニメを作ってみよう。


さて、今回教える内容は「音楽・効果音の付け方」と「透明色を使ったアニメーションの作り方」だ。
これもサンプルを用意した。
ああ、それから今回は音がなるから音量には注意してくれ。

sample10_01(音楽・効果音と透明色を使ったアニメ)

うむ、では実行してみよう。

ふむふむ、上のボタンを押すとアニメと効果音がでて、
下のボタンでBGMをつけたり消したりできるんだな。


で、これがエディタの中身と……今回もまた長いな。


最初の3〜6行はHGIMG3という標準プラグインを使うための準備だ。
このプラグインを使うことでdmmload,dmmplay,dmmstopなどの
音関係の命令が使えるようになる。


む、プラグインとは一体なんだ?
プラグインとは「ソフトウェアに機能を追加する小さなプログラムのこと」だな。
まあ今は深く考えずに「音関係の高性能な命令を使うためのおまじない」と考えておけばいいよ。
わかった、音を使うときにはこの3〜6行をコピーして最初に貼り付けておけばいいんだな。

で、20〜23行の部分でdmmlosd命令を使い、使用する音楽の準備をしているよ。
この命令ではwavとoggという音楽ファイルが使えるんだ。
画像の読み込みと同じように置いてある場所と名前を指定する感じだね。


ふむふむ。
また、ここで音がループするかしないかを決めているんだ。
22行目と23行目の最後の0がループしないことを示している。
ここを1にすると音がループするようになるよ。
21行目だけループの指定がされていないようだがこれはなんでだ?
oggファイルを読み込む場合は自動的に音がループするように設定されるからだ。
oggファイルなのにループするかしないかの指定をしようとするとフリーズするから注意してくれ。
フリーズは怖いなあ。
間違えないように全部wavファイルで統一しては駄目なのか?
それでも動作に問題ないと言えば問題ないんだけど、oggファイルの方がwavファイルよりも軽いからね。
BGMはoggファイル、効果音はwavファイルを使うのを僕は進めるよ。
むう、そういうものなのか。

BGMの実行は25行目のdmmplay命令で番号を指定して行っているね。
また、「BGM ON」のボタンを押すと166行目のdmmplayによりBGMが再生され。
「BGM OFF」のボタンを押すと170行目のdmmstopがによりBGMが停止する。


dmmstopの後ろの-1は何を表しているんだ?
dmmstopの後ろの-1はdmmplayで鳴らしている全ての音を停止する事を表しているよ。
もしここが-1だったら「全ての音を停止」
もしここが0だったら「0番で鳴らしている音を停止」
もしここが1だったら「1番で鳴らしている音を停止」となるんだ。
ふむ、なるほど。
音についてはこれぐらいだな。
次に透明色を使ったアニメについて説明していこう。
透明色ってなんのことだ?

透明色とは「透明にするよう設定した色」の事だな。
今回はこの画像の緑色の部分を透明色に設定している。


この緑色の部分を透明色に設定しているんだな。

そういうことだね。
で、このアニメーションを設定している部分がここだ。

gmode 4,,,256; の部分で透明色を使うように設定し、
color 0,255,0;でRGB(0,255,0)の色、つまり緑色を透明色に設定している。

アニメーションはパラパラアニメのように順番に画像を表示していけばOKだ。



また、gmode 4,,,256; の箇所をgmode 4,,,128;にすると、
緑色を透明色にし、その他の部分を50%透過という表示になる。
今回のサンプルでは下の方のボタンで50%透過した攻撃アニメを表示するよ。

透過の割合は変えられるので詳しくはヘルプ(hdl.exe)を参考にしてくれ。


よし!だいたい分かった気がする!
なにか注意点とかはある?

そうだね……。

「透明色のRGBをきちんと合わせること」
「透明色を使う場合、jpgではなくbmpで画像ファイルを保存すること」
とかかな。
あ、そういえばサンプルではbmpで攻撃アニメ用の画像が保存されているな。
jpgで保存したらなにか問題があるのか?

jpgは画像の質を落として小さなサイズで保存する方法だからね。
jpg形式だと画像のRGBがずれて透過色がうまく使えない事が多いんだ。
なるほど。
「透明色を使う場合、jpgではなくbmpで画像ファイルを保存すること」
だな。覚えておこう。

よし、じゃあ今教えてもらった事を踏まえて
「宵闇ウォーカー」の演出面を強化するぞ!
うむ、頑張れ。
分からない事があればその都度教えるから気軽に聞いてくれ。
承知した。
やるぞー!

一週間後の夜。

アルマ、アルマ。
宵闇ウォーカーに音とアニメを追加したから、ちょっとプレイしてみてくれ。

宵闇ウォーカーv1.01
お、ついにできたか。
ではプレイさせてもらおう。

うむ、戦闘アニメに効果音、そしてBGM。
しっかりと追加されているな。


プレイヤーからは見えないところだが、
配列変数を使ったりスクリプトの分割もしておいたぞ。
だいぶ管理がしやすくなった気がするな。

ちゃんと教えたことを実践しているのか。
真面目だな。
真面目なのは私の美点のひとつだからな。
よし、ではこれで私からの指導は終わりだ。
「HSPの基礎を学ぶ」「簡単なゲームを作る」という当初の目標は達成されたからな。
今後は作るゲームの種類によって必要な情報を集めて挑戦していけばいい。
……少し不安が残るな。
画面サイズの変更方法とかセーブの方法についても聞いておきたかったのだが……
その二つなら
「画面サイズの変更」はscreen命令
「セーブ」についてはbload命令やbsave命令を使うんだが、
検索サイトで調べてみれば分かりやすい解説サイトがあると思うよ。

もし調べても分からない事が出てきたら、その時はまたボクが相談に乗ろう。
よし、では今度調べてみるとしようか。

……うむ、小規模なゲームとはいえ「宵闇ウォーカー」が完成したおかげで
なんだかゲーム作りに対する自信が湧いているようだな。
次回は宵闇ウォーカーより一歩凝ったものを作れそうな気がするよ。
いい傾向だね。
完成まで行かなくても「実際に作って公開してみること」は重要な事なんだ。

アクションゲームならステージ1、ノベルなら一話まででいい。
そこまで作ればそのゲームの売りや欠点が見えて来るし、何より絶歌が今言ったように「自信がつく」。
それに加えて、 考えても中々分からない「完成までの期間や作業量」もわかるし
誰かに製作を協力してもらう時に、
「この程度のゲームが作れます」というサンプルにもなる。

「実際に作って公開してみる」までいくと随分と世界が広がるものさ。
あ……いかん、大切なことを言うのを忘れるところだった。
アルマ!
ん?なんだい?
ご指導ご鞭撻ありがとうございました!
HSP3講座〜0から他の講座までのつなぎ〜 完

<<前へ 次へ>>
inserted by FC2 system