2011年01月01日
ダイアログからサウンドを選択
はじめての投稿です。
ダイアログからサウンド名(日本語)を選択で、音を出したいのですが
ここで似たような記事をみましたが、さっぱりわかりません・゚・(つД`)・゚・
いろいろ検索もしてみたのですが
どうしてもllDialogとllPreloadSoundの組み合わせ方がわかりません・・・。
どなたかお力を貸していただけませんか><;
ダイアログからサウンド名(日本語)を選択で、音を出したいのですが
ここで似たような記事をみましたが、さっぱりわかりません・゚・(つД`)・゚・
いろいろ検索もしてみたのですが
どうしてもllDialogとllPreloadSoundの組み合わせ方がわかりません・・・。
どなたかお力を貸していただけませんか><;
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
サウンドの遅延対策の関数です。
llPlaySoundやllLoopSoundなどの関数を 調べてみては?
llPlaySoundで調べてみてわからなかったんです><
listenイベントハンドラで聞く必要があります。
ですので、llListenで聞く準備をしておき、ダイアログの結果が聞こえてきたら、listenイベントハンドラ内でllPlaySoundを実行すればいいかと思います。
レスありがとうございます><
↓のようにやってみました。
list Sounds =
[
"sound1", "sound2","sound3"
];
integer Handle;
default
{
touch_start(integer total_number)
{
Handle = llListen(123, "", "", "");
llDialog(llDetectedKey(0), "Select one Sound", Sounds, 123);
}
listen(integer channel, string name, key id, string message)
{
if(message == "sound1")
{
llPlaySound("sound1",1.0);
}
else if(message == "sound2")
{
llPlaySound("Sound name2",1.0);
}
else if(message == "sound3")
{
llPlaySound("Sound name3",1.0);
}
llListenRemove(Handle);
}
}
これで、ダイアログは出るようになったのですが
ボタンを日本語で表示させる方法がわかりません><;
m様>
私もそちらのブログは拝見していたのですが
どうしてもわかりませんでした・゚・(つД`)・゚・
私もやってみたんですが
list soundの中の名前と、if文の中の名前を日本語にすると
スクリプトエラーが出てしまいます・゚・(つД`)・゚・
英語名だと平気なんですが・・・
もうひとつリストを作るというのは、ノートカードを読み込んだりでしょうか?
"サウンド1"などでエラーは出ないと思います。
mさんのアドバイス通りでできますよ
抜粋
list Sounds =
[
"サウンド1", "サウンド2","サウンド3"
];
if(message == "サウンド1")
{
llPlaySound("sound1",1.0);
}
ここからは余談かもですけど
サウンド(sound1)をスクリプトと一緒にオブジェクトに突っ込んでますか?
又はストリーミングラジオ作ろうとしてるんですかね?
文字数が多かっただけみたいです・・・
ありがとうございました!
listenイベントハンドラ内ですが、if文でかなりややこしくなってますが、
このif文はいらないのでは?
下記コードで動きましたよ
list Sounds =
[
"sound1", "sound2","sound3"
];
integer Handle;
default
{
touch_start(integer total_number)
{
Handle = llListen(123, "", "", "");
llDialog(llDetectedKey(0), "Select one Sound", Sounds, 123);
}
listen(integer channel, string name, key id, string message)
{
llPlaySound(message,1.0);
llListenRemove(Handle);
}
}