Second Life 新世界的ものづくりのススメ--その36:エンジン5 - (page 2)

大槻透世二(サイバーアドベンチャー)

2008-01-31 08:00

 わかりやすく構造図を書いてみると、下図のようになる。

「changed()」イベント構成図 ※クリックすると図全体が見られます

 それでは順を追って見ていくことにしよう。

(A)「if (change & CHANGED_LINK)」が「真(TRUE)」の場合〜オブジェクトに乗ろう(座ろう)とした時〜

 「changed()」イベントは、LSL Portalによると下図のように定義されている。

「changed()」定義 ※クリックすると図全体が見られます

 「changed(integer change)」は、下図のような形式で、「何か変化が加えられたときに、『if』文の{ }内を実行」する。その「変化」とは何か。今回でいえば「CHANGED_LINK」となる。「CHANGED_LINK」より、アバターが座ることで全体のプリム数が変化した時、「///(オレンジ色部分)」が実行されるようになる(「CHANGED_LINK」の内容については、上図にある表を参照)。

「changed()」の形式 「changed()」イベントの形式は、「CHANGED_LINK」部分が状況に応じて変化する以外は上図のようになる、と構文みたいに決まっているものとして覚えよう。

 実際には、バイクに乗ろうとすると、「もともとのバイクのプリム数+乗ろうとするアバターの数」によってプリムの総数が多くなり、この「changed()」イベントが作動する。

 それではアバターがバイクに乗ろうとした時に何が起こるのかを見てみよう。

「if (agent)」:エージェントの存在判定

 まず、「key agent = llAvatarOnSitTarget();」によって、「agent」という「key型」の変数を定義する。

 「llAvatarOnSitTarget()」はLSL Portalによると、下図のように定義されている。そのため、「agent」という変数には、「『llAvatarOnSitTarget()』が返す、乗ってこようとするアバターのkeyデータ」が代入される(keyデータについては、日本語版LSL Wikiを参照)。

「llAvatarOnSitTarget()」

 そして、「if (agent)」→「if (llAvatarOnSitTarget())」→「if (keyデータ)」→「if (1)」→「if (TRUE)」となるため、次の段階へ移る。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    従来型のセキュリティでは太刀打ちできない「生成AIによるサイバー攻撃」撃退法のススメ

  2. セキュリティ

    マンガでわかる脆弱性“診断”と脆弱性“管理”の違い--セキュリティ体制の強化に脆弱性管理ツールの活用

  3. セキュリティ

    情報セキュリティに対する懸念を解消、「ISMS認証」取得の検討から審査当日までのTo Doリスト

  4. セキュリティ

    ISMSとPマークは何が違うのか--第三者認証取得を目指す企業が最初に理解すべきこと

  5. セキュリティ

    クラウドセキュリティ管理導入による投資収益率(ROI)は264%--米フォレスター調査レポート

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]