忍者ブログ
Admin / Write / Res
SecondLifeの気ままライフ
<< 04   2024/05   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31     06 >>
[9]  [10]  [11]  [12]  [13]  [14]  [15]  [16]  [17]  [18]  [19
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

以前作成した1プリムで88音階弾けるキーボードの中身スクリプトの公開
私はプロではないから色々と見苦しいところはある
UUID(サウンドファイル)のリストは公開しないのでマスクしてます
以下のような感じ

float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;

list Tuch_list=[
0,0,0,
1,1,1,
2,2,2,2,
3,
4,4,4,
5,
6,6,6,
7,7,7,7,
8,
9,9,9,
10,
11,11,11,
12,
13,13,13,
14,14,14,14,
15,
16,16,16,
17,
18,18,18,
19,19,19,19,
20,
21,21,21,
22,
23,23,23,
24,
25,25,25,
26,26,26,26,
27,
28,28,28,
29,
30,30,30,
31,31,31,31,
32,
33,33,33,
34,
35,35,35,
36,
37,37,37,
38,38,38,38,
39,
40,40,40,
41,
42,42,42,
43,43,43,43,
44,
45,45,45,
46,
47,47,47,
48,
49,49,49,
50,50,50,50,
51,
52,52,52,
53,
54,54,54,
55,55,55,55,
56,
57,57,57,
58,
59,59,59,
60,
61,61,61,
62,62,62,62,
63,
64,64,64,
65,
66,66,66,
67,67,67,67,
68,
69,69,69,
70,
71,71,71,
72,
73,73,73,
74,74,74,74,
75,
76,76,76,
77,
78,78,78,
79,79,79,79,
80,
81,81,81,
82,
83,83,83,
84,
85,85,85,
86,86,86,86,
87,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,
88,88,88,88
];

list Tone_list=[
"A0","5933feb1-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A0#","be78cc90-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B0","b72b9e7b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1","26ed0f29-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C1#","76694637-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1","0d881f97-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D1#","0e835aad-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E1","3a398b6b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1","ab672f8e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F1#","f06340d9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1","b1f87158-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G1#","f4775bf5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1","7e15855c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A1#","ce43d232-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B1","fe473eab-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2","c25a576f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C2#","cd99b2f6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2","cc10ee3d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D2#","9c113876-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E2","ee9c4acd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2","5b1c7dc5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F2#","6ec25e6e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2","677ea950-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G2#","c2c99e3b-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2","eba2c7d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A2#","a31099c6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B2","092a670a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3","fa03cf47-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C3#","7f1f7866-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3","f327e153-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D3#","39b4b3c9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E3","3c076f2a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3","7e0704fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F3#","e17f5504-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3","2c51b725-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G3#","fbcbff5f-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3","5dd2ea5c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A3#","62cae7e3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B3","65624290-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4","9699d668-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C4#","5b50bf02-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4","0be195d5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D4#","64d64536-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E4","b99a4959-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4","e439ca32-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F4#","a89cded2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4","9f04a14d-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G4#","31c5ed33-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4","b00dd1ca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A4#","b88f3a03-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B4","8b35edf8-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5","f2b282ef-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C5#","0c3c70bd-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5","dbb56bae-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D5#","a8ca1900-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E5","326758ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5","811e0c40-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F5#","c0fa3097-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5","69ebb17e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G5#","376dc1fb-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5","d911be21-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A5#","855b686c-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B5","e47fe4bc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6","7d7fe1b5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C6#","24a38737-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6","6454b1ed-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D6#","df6af006-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E6","6f3b93ee-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6","2a3898a9-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F6#","451d4de5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6","1d438104-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G6#","ee56b417-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6","0530c909-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A6#","a11a4066-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B6","786d3aca-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7","65476210-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C7#","2964dcd3-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7","ec1568fc-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"D7#","c24faf67-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"E7","66055e4a-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7","0ea810a7-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"F7#","c233495e-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7","b62c53c2-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"G7#","e2481d30-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7","929068ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"A7#","de213874-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"B7","191b63ec-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"C8","4b82c978-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"RR","4f559bb0-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
];

default{
state_entry()
{
Vol = 1.0 ;
}

touch_start(integer total_number)
{
RePos = 88;
}

touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);

if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}
}

とまぁこのようになっているのだ
ほとんどがリストデータばっかしw
default{~}がキーボードのメイン処理部分
そのまま使うコトはキーボードのスカルプUVMAPで作成したプリムと組み合わせないとヘンになるからムリ
でもこれから覚えたいかたの参考に少しでも役に立つならいいかな

解説

float x=256;
float y=1.0;
float Vol;
integer Pos;
integer RePos;
integer SarchTone;

 変数の宣言と定義?だったかな
 float は浮動小数点扱う
 integer は整数
 x=256 y=1 これはスカルプテッドプリムに合わせてここではこの数字で固定
 Vol のほうはここでは数字固定しない
  ここで固定しても良かったんだけど使いまわし応用のためw
 Pos RePos は触った場所の位置を入れておくためのもの
 SarchTone はタッチした位置でトーンリスト番号を示すためのもの

list Tuch_list=[

 コイツはスカルプテッドプリムの面の位置を音階に変換するためのデータベース
 list が宣言で Tuch_list がリストネーム
 =[~~~~] が Tuch_list に入れる中身のデータとなるわけ
 キーボードをスカルでいくつか種類造ったから応用しやすいように別置き

list Tone_list=[

 こちらは音階とそれに対応したサウンドファイルのUUIDのリスト
 ある意味心臓部分
 UUIDを差し替えて別な音色にしやすいように敢えて別置きにしている

default{

 ここから先がメインの処理部分になる

state_entry()
{
Vol = 1.0 ;
}

 Vol サウンドファイルの音量の変数なんでこんな所で固定してるんだw
 い~~の!
 本来は音量コントロールするハズだったけど1プリキーボでムリだったから残骸w
 別Verではきちんと音量コントロールできるようになってるw

touch_start(integer total_number)
{
RePos = 88;
}

 プリムをクリックした時に実行することが書いてある
 この場合だと RePos に 88 をセットしてくださいってことになる
 ちなみに 88 は無音です
 後述する touch(integer total_number) だけだとうまく機能しないので初めに
 コレやっとかなければダメだったみたい
 コレすごく悩んだっけな~
 どうしてもわからなくてFさんに助けられたっけ
 ありがとうFさん

touch(integer total_number)
{
vector pos = llDetectedTouchST(0);
Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
SarchTone = llList2Integer(Tuch_list,Pos);

if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;
}

 ここはタッチ(クリック)し続けている(連打じゃないよ)時に実行することが
 書いてある部分

 vector pos = llDetectedTouchST(0);
 vector は変数宣言で pos に DetectedTouchST の結果を格納する

 Pos = ((llFloor((pos.x*10)*x)/10)*(integer)y)+llCeil(pos.y*y);
 ちょっとややこしいけど vector pos から integer Pos に変換格納する式

 SarchTone = llList2Integer(Tuch_list,Pos);
 ここは Tuch_list から Pos の位置にあるデータを integer 形式で SarchTone
 に格納するよう書いてある

if ( RePos != SarchTone)
{
llTriggerSound(llList2Key(Tone_list,SarchTone*2+1),Vol);
}
RePos = SarchTone;

 ここが音を鳴らすメインの部分
 RePos != SarchTone とは RePos と SarchTone が同じ値でない場合って意味
 if(条件式)
  {
条件式が正しい場合に実行される処理
}
  条件式が正しくない場合に実行される式
 この場合だとRePos と SarchToneが違った場合となるので正しい
 逆に値が同じだった場合は != では正しくないになる
 
 ややこしいけど if文 は touch(integer total_number) の中に入っている
 そのためこのif文を入れないと同じ音が鳴り続けてしまうのだ
 それを防止するためにタッチしている位置が同じ鍵盤上にある場合は連続して
 音を出さないようにするための条件式を入れている

 先にあった touch_start でわざわざ RePos に 88 を設定しているのは
 RePos は最後に触っていた鍵盤の位置を格納しておくもので
 touch の中に設定するとうまく機能しなくて例えば同じ鍵盤を連続してクリック
 した場合に2回目以降のクリックで音が出なくなってしまう
 そのため次のクリック時に無音リセットしているのだ
 
 この記述だと左クリックしたままドラッグして鍵盤を移動させる演奏も可能になる

 ちなみにこのスクリの重さは 0.02~0.03 すげぇ~軽いw
 きょ~たさんの人魚神殿にて計測

おさらい終わりw
PR
やる気削がれたSLだけど
とりあえずあのブサイクな初期アバで歩きまわるのは私はとてもイヤなので・・・
なんとか元の状態に戻した
行方不明なオブジェとかもあるから完全に元の状態ではないんだけど
出かけても恥ずかしい格好には戻ったようだ

と 言っても別にどこ行くってアテは無いし
別に誰かに会うってコトもない
ま 自己満足

散歩でもしながら操作方法のリハビリでもしよう
一度プレイしているからすぐに慣れるだろう

しかしま~今回の休止期間は一般ニュースでSLの話題は1度も耳にすることなかったな~
前回の休止期間中は2~3度耳にしたんだけど・・・・

休止中に実はいくつかのMMOで少し遊んでいた
ゲームは好きなほうなので新作MMOとか一応チェックしてフィーリングよさげなものいくつかプレイしてみた
ちなみに私はロリ系・ディズニーチックアニメ系・戦争PvPメイン系は大嫌いだから初めからそれらは除外だ
一般に普及するPCの性能も上がっているせいで絵柄が相当綺麗なものも多く提供されているな~と感じた
ん~
ヤバイな
SLは絵柄の割にスペックの高いPCを要求されるって誤解なんだが
世界を造るのは一般ユーザーであって
他ゲームのようなプロが製作し最適化されたモノとは出来が違うのは当たり前なんだよね
ま 製作をやめた私にはもうどうでもいいコトなのかもしれないな

やりたけりゃやるし
やりたくなければやらない
それがSLってモンだ

さて
スクリも先ずは以前出来ていたモノ引っ張り出してリハビリしなきゃな~
簡単なヤツからやっていこうかね~
まとまった時間できて久しぶりにSLにログインしようとしたら・・・

ビューワーの強制アプデが・・・・

ま そりゃ~しょうがね~ゎ

と思いつつ新ビューワーにアプデ

そこまではいいんだ・・・・・

さてログインしたら・・・・・

でました

あの見たくも無いブッサイクな初期アバになってる・・・・

インターフェイスもだいぶ変更になっているから操作方法がワカラナイ

以前のアバに戻そうにもどうやって戻したらいいものか・・・

あのブッサイクな初期アバになっている時点で思いっきりプレイする気が削がれた

もういいや今日んところはやる気おきないや
鳩山さん・民主党さんガタガタですね^^;

さきの選挙ではとにかく自民にNO!を突きつけたかったからとりあえず民主応援だったのだが
「変わればいい」以上の期待は持ってなかったから現状のサマを見ても別になんとも思わない
何かが大きく変わるときの過渡期はこのような迷走状態というものは必ずつきまとうものなのだ
再生→成長→繁栄→安定→衰退→崩壊→再生
このサイクルは色々と当てはまるもの
権力の世界の歴史を見ればほぼこのサイクルが繰り返されている
大自民が衰退し戦国(戦党)になっただけだ

気に入らねぇ~のが2つばかりある

1,たちあがれ日本党
  大自民時代の実力者なんつ~こと言われているヤツ
  お前らが舵取りしてNG出されて衰退したんだがな
  都合悪くなったら逃げ出すんですか?
  そんな人間信用できませんよ

2,わらにも縋る根性
  戦国に相応しく党乱立してますね
  それぞれ違った主張をし主張が多ければ有権者それぞれにより近い主張を掲げ
  ている可能性も多くなる
  よって国民の選択肢が幅広くなる
  それはそれで良いことだとは思うんだがな
  安易にタレントを起用するな
  中身で勝負しろよ
  中身に自信持てないから知名度のあるタレントを利用しているんじゃないのか?

戦国時代とは淘汰される時代でもあるのだ
その事を自覚するがいい
あまり国民を馬鹿にするんじゃないよ?
年度も変わり少しは落ち着くかなと思いきや・・・・・・・・
なんとなく連日突発イベントが起こり・・・・・・
なかなかゆっくりできないるしです

そうこうしてたらそろそろゴールデンウィークの時期ですね
GWはどこ行っても混雑で余計に疲れるからウチでゆっくりしていたい
ずらして行けば混雑で疲れることもあまりないしね

さってっと
今度のSLではスクリをメインに何か挑戦していきたいな
まだまだスクリの世界は奥が深いし知らないコトもたくさんあるしね

スクリは基本を覚えればSLの世界では広く応用が効きそうだってのもある
と言うか
SLの世界のベースは乱暴な言い方をすればプリムとスクリでできている世界だ
スクリを覚えて損は無いだろう
まぁ所詮は自己満足なんだけどね

前回までの音系のスクリいじりの中にはそのジャンルでしか使い道が無いってコマンドはほとんど無かったと感じたし
ど~~~~にかなるだろうw
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
プロフィール
HN:
るし
年齢:
16
性別:
非公開
誕生日:
2007/10/31
職業:
SL職:自由人
趣味:
SL趣味:その時その時興味を持ってやっているコトが趣味
ブログ内検索
アクセス解析
Copyright ©   隠居生活記 All Rights Reserved.
*Material by Pearl Box  * Template by tsukika
忍者ブログ [PR]