こんばんわ、あずらんです。

安定の久しぶり更新ですが、やってまいりましょう。

 

今回はクリックしたらテクスチャを切り替えるスクリプトを書いていきましょう。

 

------------------------------------------

 

default

{

    タッチしたら

    {

        テクスチャAならテクスチャBに切り替える

        テクスチャBならテクスチャAに切り替える

    }

}

 

------------------------------------------

 

 

なんとも簡単!

では1つづつ関数を調べていきましょう。

グーグル先生に「lsl テクスチャ設定」で検索すると、ありました。

【llSetTexture】こやつですね。

( http://wiki.secondlife.com/wiki/LlSetTexture/ja )

 

 

------------------------------------------

llSetTexture( string texture, integer face );

 

string texture = プリムの中身にあるテクスチャまたはUUID

integer face = テクスチャを設定するプリムの面又は【 ALL_SIDES 】

【  ALL_SIDES 】は全ての面に作用します。

------------------------------------------

 

 

今回はプリムの中にテクスチャデータを入れて

それらをプリムの全面へ適応させたいと思います。

 

では早速スクリプトを書いてみましょう。

 

 

------------------------------------------

//------------------------------------------

//前提条件として、プリムの中身へ【texA用のテクスチャ】と

//【texB用のテクスチャ】が入っているものとします。

//------------------------------------------

//テクスチャ切り替え用数値

integer texdata = 0;

//テクスチャAの名前

string texA = "textureA";

//テクスチャBの名前

string texB = "textureB";

default

{

     touch_start(integer num_detected)

    {

        //texdataが0の時の処理

        if(texdata == 0)

        {

            //テクスチャをtexAへ切り替える

            llSetTexture(texA,ALL_SIDES);

            //texdataの数値を1へ変更

            texdata = 1;

        }

        //texdataが0でない時の処理

        else

        {

            //テクスチャをtexBへ切り替える

            llSetTexture(texB,ALL_SIDES);

            //texdataの数値を0へ変更

            texdata = 0;

        }

    }

}

------------------------------------------

 

 

これで動作確認をしてみると、クリック毎にテクスチャが切り替わるのが確認できましたね。

いやー、満足満足・・・。

 

え?オーナー限定で切り替えたいって?

では、それは次回にやってみましょう。

お疲れ様でーす。