編集部からのお知らせ
記事まとめ「サードパーティークッキー問題」公開
記事まとめ読み:GIGAスクール

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 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. 運用管理

    最先端のデータサイエンティストでいるための5つのヒント—AIによる高度化でデータの達人であり続ける

  2. ビジネスアプリケーション

    経理部門 554人に聞いた「新しい経理部門の働き方」 その実現に向けた具体的な行動指針を解説

  3. セキュリティ

    パンデミックに乗じたサイバー攻撃に屈しない 最新の脅威分析レポートに見る攻撃パターンと対応策

  4. 運用管理

    DX時代にIBM i は継続利用できるのか? モダナイゼーション実施で考えておくべき5つの視点

  5. セキュリティ

    サイバー攻撃でPCに何が起きている? サイバーディフェンス研究所の名和氏が語るフォレンジックのいま

NEWSLETTERS

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

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

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