ソラマメブログ

2008年07月14日

テクスチャブラウザを作ってみた

テクスチャの選択面倒だよな~
-----
テクスチャブラウザもいまいち分からないよな~
-----
というわけで 自分で作ってみようと思って作り始めてみた
-----
すぐツールを作りたがるのは悪い癖だが なかなかしっくりくるものがないからな~
-----
というわけでこうなった ^^
-----

-----

-----

-----
WS HUD 流用したので小さい w
-----

-----
初期状態
-----

-----
調べたいテクスチャをコンテンツにドラッグアンドドロップし クリックするとこうなる
-----
というわけでリストもあげておきます
-----
まずは本体側から
//
// File: TextureBrowser.lsl
// Date Author number of nodes
// 2008/7/14 walkinglint 41
// 2008/7/13 walkinglint 20
// 2008/7/13 walkinglint 18 (TexturePresenter->TextureBrowser)
// 2008/6/20 walkinglint 18
//
integer num_of_texture;
integer num_of_button = 64;
integer i;
default {
touch_start(integer total_number) {
num_of_texture = llGetInventoryNumber(INVENTORY_TEXTURE);
for (i = 0; i < num_of_button; i++) {
if (i < num_of_texture) {
string nm = llGetInventoryName(INVENTORY_TEXTURE, i);
key ky = llGetInventoryKey(nm);
if (ky != NULL_KEY) {
llMessageLinked(2 + i, 0, nm, ky);
} else {
llMessageLinked(2 + i, 0, nm, "89556747-24cb-43ed-920b-47caed15465f");
llOwnerSay(nm + " may be no copy or no modify or no transfer");
}
} else {
llMessageLinked(2 + i, 0, "", "89556747-24cb-43ed-920b-47caed15465f");
}
}
}
}
次にボタンというか実際にテクスチャを表示している部分
//
// File: TextureBrowserButton.lsl
// Date Author number of nodes
// 2008/7/13 walkinglint 8
//
default {
link_message(integer sender_num, integer num, string str, key id) {
llSetText(str, <0.0, 0.0, 0.0>, 1.0);
llSetTexture(id, 2);
}
}

同じカテゴリー(walking のスクリプティング講座)の記事
 プロフィール写真の表示に問題 (2009-11-30 20:55)
 ミニ太陽系 (2009-03-21 06:03)
 関数から文字列を返したら何か問題になる? (2009-03-18 18:02)
 llListFindList って型って関係ないんだったっけ (2009-03-18 14:02)
 夏時間(PDT)の実験 (2009-03-08 22:04)
 15パズルの作り方(その3) (2009-03-08 06:03)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。