こんばんわ、あずらんです。
最近RLやSLで色々と遊んだり忙しかったりしてたため更新が滞ってましたね(;一_一)
今日は簡単にサウンドファイルを使用した音の流し方について紹介したいと思います。
まずはいつもどおり、日本語で処理順を書いていきましょう。
------------------------------------------
default
{
タッチしたら
{
サウンドを流す
}
}
------------------------------------------
うわぁ・・・短っ!手抜きだぁ~w
まぁまぁ、そんなこと言わずに続きいきましょうか()
では、グーグル先生に「lsl サウンド」で検索すると・・・
ありました【llPlaySound】こやつですねー。
( http://wiki.secondlife.com/wiki/LlPlaySound/ja )
なになに・・・
------------------------------------------
llPlaySound( string sound, float volume );
string sound = オブジェクトの中身に入っているサウンドファイルの名前 or サウンドのUUID
float volume = 0.0~1.0での音量
------------------------------------------
なるほど・・・実に分かりやすい
では、Rezしてあるプリムへスクリプトを入れて、中身へサウンドファイルを1つ入れましょう。
(なんでもいいですよw)
※今回は【 OTO 】というサウンドファイルを入れた前提で説明しますね。
------------------------------------------
default
{
touch_start(integer total_number)
{
//中身に入っているOTOというサウンドを流す
llPlaySound("OTO",1.0);
}
}
------------------------------------------
いやぁ、動きましたねー。満足まんぞk・・・え?
HUDにしたら音がほかの人に聞こえないって?
そうなんですよ(;一_一)
なのでHUDにする場合は、別の関数を使います
こっちですねー。
【llTriggerSound】
( http://wiki.secondlife.com/wiki/LlTriggerSound/ja )
------------------------------------------
llTriggerSound( string sound, float volume );
string sound = オブジェクトの中身に入っているサウンドファイルの名前 or サウンドのUUID
float volume = 0.0~1.0での音量
------------------------------------------
なるほど、こっちならHUDでも周辺に音を聴かせることができるとφ(..)メモメモ
------------------------------------------
default
{
touch_start(integer total_number)
{
//中身に入っているOTOというサウンドを流す
llTriggerSound("OTO",1.0);
}
}
------------------------------------------
はい、できましたね。
結局、【llTriggerSound】を毎回使えばいいの?って思うじゃないですか。
でも、【llPlaySound】と【llTriggerSound】には大きな違いがあります。
それは・・・「移動するオブジェクトに対してサウンドが追従するかどうか」です。
つまり、移動しながら音を出したい時は、【llPlaySound】
移動させず又はHUDからサウンドを流したいときは【llTriggerSound】ですかね?
(詳しく検証していないので、HUD以外は【llPlaySound】でいいのかなぁて思ってます。)
今回はここまでですね。
次回はループでサウンドを流す方法を書きたいと思います。
ではではー。