そこで、この画面で音楽を二重、三重に鳴らしてみたいと思い、
mci を使ったプログラムを下記のように組んでみました。
問題はタイトルにもある通り、
mciで書き込んだ短い音楽ファイルが一度しか鳴らないことです。
どなたかいい解決策をご存じないでしょうか?
;/////////////////////////////////////////////////////////////////////////////// ;タイトル画面 ;/////////////////////////////////////////////////////////////////////////////// *タイトル画面 screen 0,640,480 ;画像の読み込み buffer 1 ; 背景画像の読み込み picload "img/タイトル.png" gsel 0 ; 画面「0」に描画先指定 pos 0,0 ; 背景画像の貼り付け位置指定 gcopy 1,0,0,640,480 ; 背景画像の貼り付け ;音楽ファイル読み込み mci "open \"se/カーソル移動.mp3\" alias f0" mci "open \"bgm/menu.wav\" alias f1" mci "play f1" ;カーソル初期位置 cursor_x = 260 cursor_y = 340 *カーソル上下 redraw 0;チラツキ防止その1 gsel 0 ; 画面「0」に描画先指定 pos 0,0 ; 背景画像の貼り付け位置指定 gcopy 1,0,0,640,480 ; 背景画像の貼り付け ;メニュー一覧 pos 280,340 color 255,255,255 ;フォントの設定 font "MS ゴシック", 20 mes "スタート" mes"オプション" mes"リプレイ" mes"終了" ;カーソルを表示 pos cursor_x,cursor_y color 255,255,255 mes"▼" getkey key,38;上入力 if(key=1){ cursor_y = cursor_y - 20 wait 16 mci "play f0" } getkey key,40;下入力 if(key=1){ cursor_y = cursor_y + 20 wait 16 mci "play f0" } ;移動の行き止まりと場所入れ替え if(cursor_y>400){ cursor_y = 340 mci "play f0" } if(cursor_y<340){ cursor_y = 400 mci "play f0" } ;メニューに応じたところでZキーを押したときの反応 getkey key,90;zキー入力 if(key=1){ mci "play f0" if(cursor_y=340){ goto *未実装 } if(cursor_y=360){ goto *未実装 } if(cursor_y=380){ goto *未実装 } if(cursor_y=400){ end } } getkey key,13;enter入力 if(key=1){ mci "play f0" if(cursor_y=340){ goto *未実装 } if(cursor_y=360){ goto *未実装 } if(cursor_y=380){ goto *未実装 } if(cursor_y=400){ end } } getkey key,27;Esc入力 if(key=1){ end } redraw 1 ;チラツキ防止その2 await 16 goto *カーソル上下 ;/////////////////////////////////////////////////////////////////////////////// ;未実装 ;/////////////////////////////////////////////////////////////////////////////// *未実装 cls 4 pos 160,240 ;フォントの設定 font "MS ゴシック", 20 color 255,255,255 mes "ごめんなさーい、まだ未実装です。" mes " ESCキーで戻ります。" repeat getkey key,27;Esc入力 if(key=1){ goto *タイトル画面 } loop return