容量削減に難航した末、どうにか効果音を実装してみました。
とりあえず、練習モードは廃止しました。
なんか練習モードのおかげで、スタートが右クリックになったり、微妙に操作が分かり難くなってた気がしてたので、後悔はありません。
この先、私自身の為の文書なので、読み飛ばしてください。
今回、バージョン1.1ですが、1.0というのは0.9の容量削減版です。ゲームプログラムミングをした経験はある人じゃないと分からないと思いますが、プログラミング言語での角度というのはアジラン単位(360°=2π)です。また描画系の命令は、0アジランを指定すると、真上(数学的には90°)を向いたりします。ところが、三角関数系の命令はcos(0)=1だったり、数学に合わせています。よって、三角関数を使う都度に90°左に補正しないといけないという現象が起こります。説明下手ですみません。
そこで、計算する時は補正を行わず、最後に描画する時だけ左に補正するようにしました。補正する回数が1回になるので、少しは容量が減らせるわけです。
本題の効果音ですが、HSPプログラムコンテスト2008 / 応募者向けページによると、
画像や音声ファイルを使用する場合は、一般作品部門にご応募下さい。
となっているので、ルール違反なのでは?と思われるかもしれません。しかし・・・
拡張プラグインは使用できません。 (外部DLL呼び出し、COM操作関連命令は使用可能です。)
とも書いてあります。音を出すのに"winmm.dll"というDLLを呼び出しているので、この点はセーフだと考えています。また、音声ファイルとなってますが、ファイルを読み書きしてるわけでもないので、ギリギリセーフだと解釈することにしました。
winmm.dllの使い方ですが、なかなか面白かったので、[HSP3メモ]サンプルで紹介すると良いかなと思いました。MIDI音源の利用というページが分かりやすいです。その引用ですが、こんな流れになってます。
APIはほとんど叩かないのですが、どちらかと言えば、シンプルで扱いやすい方なんじゃないかと思います。強いて言えば、midiOutShortMsgに渡すメッセージの計算が少々ややこしかったですかね? (全然構造体とか触ったことがなかったのですが、慣れました)
とりあえずこれが命令コードの基本の表です。他にもありますが、これで十分です。
とありますが、他に何があるのか知りたいことろです。
プログラムを書くより、日本語を書く練習をしないとダメだと悟りました。
可哀想だから、あまりいじめないでください
自分でも気がつきませんでしたよ。
なんかタイムオーバー後も放置するとカーソルを上に持ってくと、メッセージが現れます。