CSLサイト内検索 help
[←戻る]
音楽モードを作る

はじめに

市販ソフトや同人ソフトで定番の機能と言えば、『画像閲覧』『音楽再生』です。 ここでは、音楽再生モードを製作します。画像閲覧モードと比べるとかなり簡単で すので次回作でやってみてはどうでしょう?全然イメージが変わりますよ? 下準備
まずはじめに、ゲームで使用したBGM名の一覧を調べてておきます。あれ、この曲何? て言う場合が意外と多いです。 次に、背景となる画像を用意します。上に曲名のボタンを載せるのでなるべくシンプル なものが良いでしょう。 ボタンの製作
次に、以下のような曲名を記したボタンを製作します。全曲分必要ですので結構大変 ですが、根気よく作っていきます。 ついでに停止・終了ボタンも作りましょう。 実際のスクリプト
実際のスクリプトです。CG閲覧同様、後で内容を説明します。 ;音楽モード *music ;下準備 btndef clear csp -1 repaint bg "./data/system/music.jpg",20 ;曲を止める stop *musicselect ;ボタン作成して表示 lsp 1,":c/2,0,3;./data/system/tr1.jpg",320,50 lsp 2,":c/2,0,3;./data/system/tr2.jpg",320,80 lsp 3,":c/2,0,3;./data/system/tr3.jpg",320,110 lsp 4,":c/2,0,3;./data/system/tr4.jpg",320,140 lsp 5,":c/2,0,3;./data/system/tr5.jpg",320,170 lsp 6,":c/2,0,3;./data/system/tr6.jpg",320,200 lsp 7,":c/2,0,3;./data/system/tr7.jpg",320,230 lsp 8,":c/2,0,3;./data/system/tr8.jpg",320,260 lsp 9,":c/2,0,3;./data/system/tr9.jpg",320,290 lsp 10,":c/2,0,3;./data/system/tr10.jpg",320,320 lsp 13,":c/2,0,3;./data/system/tr11.jpg",320,350 lsp 14,":c/2,0,3;./data/system/tr12.jpg",320,380 lsp 11,":c/2,0,3;./data/system/stop.jpg",240,450 lsp 12,":c/2,0,3;./data/system/exit.jpg",440,450 print 1 spbtn 1,1 spbtn 2,2 spbtn 3,3 spbtn 4,4 spbtn 5,5 spbtn 6,6 spbtn 7,7 spbtn 8,8 spbtn 9,9 spbtn 10,10 spbtn 11,11 spbtn 12,12 spbtn 13,13 spbtn 14,14 btnwait %0 if %0=0 goto *musicselect if %0=-1 goto *musicselect if %0=1 goto *tr1 if %0=2 goto *tr2 if %0=3 goto *tr3 if %0=4 goto *tr4 if %0=5 goto *tr5 if %0=6 goto *tr6 if %0=7 goto *tr7 if %0=8 goto *tr8 if %0=9 goto *tr9 if %0=10 goto *tr10 if %0=13 goto *tr11 if %0=14 goto *tr12 if %0=11 goto *stopmusic if %0=12 goto *menumode ;システムの返り値 *stopmusic stop goto *musicselect ;各トラックの返り値 *tr1 mp3loop "./data/music/track01.mp3" wait 100 goto *musicselect *tr2 mp3loop "./data/music/track02.mp3" goto *musicselect *tr3 mp3loop "./data/music/track03.mp3" goto *musicselect *tr4 mp3loop "./data/music/track04.mp3" goto *musicselect *tr5 mp3loop "./data/music/track05.mp3" goto *musicselect *tr6 mp3loop "./data/music/track06.mp3" goto *musicselect *tr7 mp3loop "./data/music/track07.mp3" goto *musicselect *tr8 mp3loop "./data/music/track08.mp3" goto *musicselect *tr9 mp3loop "./data/music/track09.mp3" goto *musicselect *tr10 mp3loop "./data/music/track10.mp3" goto *musicselect *tr11 mp3loop "./data/music/track11.mp3" goto *musicselect *tr12 mp3loop "./data/music/track12.mp3" goto *musicselect b>説明
・下準備 ;下準備 btndef clear csp -1 repaint bg "./data/system/music.jpg",20 stop まず、下準備として画面をクリアし、背景画像を表示します。 この辺は基本的にどのモードでも同じです。もちろん、現在再生中の音楽の 停止も忘れずに行います。 ・ボタンを表示する lsp 1,":c/2,0,3;./data/system/tr1.jpg",320,50 lsp 2,":c/2,0,3;./data/system/tr2.jpg",320,80 lsp 3,":c/2,0,3;./data/system/tr3.jpg",320,110 lsp 4,":c/2,0,3;./data/system/tr4.jpg",320,140                  ・・・・・・・・・ 曲名ボタンを表示していきます。曲数に応じてレイアウトは自由に設定して 良いでしょう。最後に停止・終了ボタンを忘れずに表示します。 ・実行する btnwait %0 if %0=0 goto *musicselect if %0=-1 goto *musicselect if %0=1 goto *tr1 if %0=2 goto *tr2 if %0=3 goto *tr3 if %0=4 goto *tr4 最初の2行はサムネイル部分以外を押した時の処理です。当然何もおきなくて良いの で最初へ戻します。btnwait %0はボタンを押された時の反応を示す命令です。 例えばspbtn 1,1のようにボタンに1番と言う数字を割り振れば、そのボタン が押されると変数%0に1が代入されます。そして、それに対応して、 if %1=1 goto *tr1のように、%0に1が代入されたら*tr1に移動せよと言う 命令が続きます。ラベル*tr1はもちろん、トラック1を再生するための命令が記述 されます。 ・再生する *tr1 mp3loop "./data/music/track01.mp3" wait 100 goto *musicselect 音楽を再生します。ここで重要なのはgoto *musicselectです。一見 btnwait命令の直前に返せばいい気がしますが、ここへ返すと暴走してしまいます。 必ず音楽モードの最初へ戻して読ませるようにします。 以上です。どうですか?次回作に音楽モード。