わかりやすく構造図を書いてみると、下図のようになる。
それでは順を追って見ていくことにしよう。
「changed()」イベントは、LSL Portalによると下図のように定義されている。
「changed(integer change)」は、下図のような形式で、「何か変化が加えられたときに、『if』文の{ }内を実行」する。その「変化」とは何か。今回でいえば「CHANGED_LINK」となる。「CHANGED_LINK」より、アバターが座ることで全体のプリム数が変化した時、「///(オレンジ色部分)」が実行されるようになる(「CHANGED_LINK」の内容については、上図にある表を参照)。
「changed()」イベントの形式は、「CHANGED_LINK」部分が状況に応じて変化する以外は上図のようになる、と構文みたいに決まっているものとして覚えよう。
実際には、バイクに乗ろうとすると、「もともとのバイクのプリム数+乗ろうとするアバターの数」によってプリムの総数が多くなり、この「changed()」イベントが作動する。
それではアバターがバイクに乗ろうとした時に何が起こるのかを見てみよう。
まず、「key agent = llAvatarOnSitTarget();」によって、「agent」という「key型」の変数を定義する。
「llAvatarOnSitTarget()」はLSL Portalによると、下図のように定義されている。そのため、「agent」という変数には、「『llAvatarOnSitTarget()』が返す、乗ってこようとするアバターのkeyデータ」が代入される(keyデータについては、日本語版LSL Wikiを参照)。
そして、「if (agent)」→「if (llAvatarOnSitTarget())」→「if (keyデータ)」→「if (1)」→「if (TRUE)」となるため、次の段階へ移る。
Firefoxで情報をカンタン・ベンリに整理する・ウェブページの保存・収集ツールとして著名な「ScrapBook」。シンプルではあるが利用方法が多岐に渡るこのツールの便利な使い方があれば、是非コメントで教えてほしい。 2008/07/24 13:36 【】
iPhone Safari、Acidテストでは高得点でも…… Firefoxは載らないの?・iPhoneのSafrariブラウザのできはすばらしい。しかし、まだまだ不安定でFlashにも非対応…… ほかにもソフトウェア的な問題がある。 2008/07/24 13:00 【】
DELLが掲げる「新・仮想化アセスメントサービス」
ZDNet Japan ホスティング特集
ZDNet Japan Green IT
Techno Exchange
フォトレポート:分解、アップル「iPhone 3G」
ちょっと変わった「iPhone」向けアプリケーション10種
契約してわかった、iPhoneのさまざまな注意事項