C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 48 を表示中)
■26077 / )  Re[2]: 一つのイベントの中で2種類のCGを表示する方法
□投稿者/ PATIO (131回)-(2008/10/01(Wed) 14:28:01)
No26070 (裕猫 さん) に返信
> 一つのイベントの中で2種類のCGを表示する方法ってあるでしょうか?
> private void button2_Click(object sender, EventArgs e)
> {
>         ←ここにCG描画処理入る
> Kotoba = "声\\Konokurai.wav";
> OnseiClass.Koe2(Kotoba);
> Application.Exit();
> }
> で終了処理をしたときCGが表示されずに終了してしまいます。
> 実際は音声が終わると同時に瞬間表示して消えているのですが、見えない。
> 回避する方法をご存知の方教えていただけませんか?よろしくお願いいたします。

まず、タイトルに書いてある内容に食い違いがあると思います。
タイトルには2種類のCGを表示と書いているのに、内容はCGの描画と音声の再生です。
質問内容に合わせるならタイトルもCGの描画と音声の再生を同時に出来るかと言う話に
なるのではないでしょうか?

で、消えてしまう件ですが、Application.Exit()を呼んでいるからではないですか?
これを呼んだらアプリケーションが終了してしまうのではないですか?

あと前にも書いたと思いますが、Windowsは基本的に描画処理は後回しにするので
button2_Clickが終わらないと描画をしないと思います。
加えて、OnseiClass.Koe2(Kotoba)という呼び出しは音声の再生が完了するまで
返って来ないのではないでしょうか?
そうなると、音声の再生が終わらないとbutton2_Clickが終わりませんから
描画処理は動かないのでは?
しかも、button2_Clickが終わるときにはアプリが終了してしまうので
ウインドウが破棄されますから画像はほとんど出てこない事になりますよね。
このイベントドリブンの考え方は何をするにもついてまわりますから
きちんと理解しておかないと先々困る事になると思いますよ。



返信 編集キー/


管理者用

- Child Tree -