Posted by   at 

2008年12月14日

アトランダムにプレゼントを渡すスクリプト

大きな箱の中に、いろいろプレゼントを入れて、
タッチで、中のプレゼントをアトランダムに(タッチした人に)渡せるようにするスクリプトを教えてください。
よろしくお願いします。

※以前、こちらのコーナーに同じような質問があったと思うのですが、
どうやら削除されてしまっているようで、何度見ても見つかりませんでしたので
改めて別に質問させてもらいました。  


Posted by EURIKA  at 19:27Comments(1)スクリプト関連

2008年12月14日

連続したサウンドファイル再生時の一回目のとぎれについて


こちらで質問させて頂くのは二回目になります。 前回の質問で「オブジェクト(この場合は楽器)をタッチすると複数のサウンドファイル(一つの曲を分割して番号をつけたもの)を順番に再生する」スクリプトに関しての質問を投稿し、幾つかのご指摘を頂いたおかげでスクリプトは無事作動しました。 しかし少々気になる点が残っており、それはサウンドファイルを再生する際、二回目とそれ以降はサウンドファイルが一回目でPreloadされているためか問題はないのですが、「一回目」の再生時に、1ファイルごとにどうしても3〜4秒程とぎれて間が空いてしまうのです。以下に前回のスクリプトを掲載しますので、この点に関してどなたかご意見を頂けないでしょうか?


integer totalnum;
integer soundnum;
integer playmode=FALSE;

default
{
touch_start(integer total_number)
{
if(llDetectedKey(0)==llGetOwner())
{
playmode=!playmode;
if(playmode)
{
llOwnerSay("Music ON");
llSetTimerEvent(10.0);
totalnum=llGetInventoryNumber(INVENTORY_SOUND);
soundnum=0;
llPreloadSound(llGetInventoryName(INVENTORY_SOUND,soundnum));
}
else
{
llSetTimerEvent(0.0);
llOwnerSay("Music Off");
llStopSound();
}
}
}
timer()
{
llPlaySound(llGetInventoryName(INVENTORY_SOUND,soundnum),1.0);
soundnum++;
if(soundnum {
llPreloadSound(llGetInventoryName(INVENTORY_SOUND,soundnum));
}
else
{
soundnum=0;
llPreloadSound(llGetInventoryName(INVENTORY_SOUND,soundnum));
}
}
}  


Posted by 041  at 14:45Comments(1)スクリプト関連