Control/ja

From Second Life Wiki
< Control
Revision as of 02:39, 17 April 2008 by Asuka Neely (talk | contribs)
Jump to navigation Jump to search

説明

イベント: control( key id, integer level, integer edge ){ ; }

llTakeControlsライブラリ関数の呼び出しとユーザの入力の結果です。

• key id
• integer level
• integer edge
定数 説明
CONTROL_FWD 0x00000001 前進 (W)
CONTROL_BACK 0x00000002 後進 (S)
CONTROL_LEFT 0x00000004 左移動 (⇧ Shift-⇧ Shift-A [マウスルックならば A])
CONTROL_RIGHT 0x00000008 右移動 (⇧ Shift-⇧ Shift-D [マウスルックならば D])
CONTROL_ROT_LEFT 0x00000100 左回転 (A)
CONTROL_ROT_RIGHT 0x00000200 右回転 (D)
CONTROL_UP 0x00000010 上昇 (PgUpE)
CONTROL_DOWN 0x00000020 下降 (PgDnC)
CONTROL_LBUTTON 0x10000000 マウス左クリック
CONTROL_ML_LBUTTON 0x40000000 マウスルック中のマウス左クリック
(undocumented) 0x02000000 Avatar left rotation detected. Triggers llGetAnimation == "Turning Left"
(undocumented) 0x04000000 Avatar right rotation detected. Triggers llGetAnimation == "Turning Right"

サンプル

<lsl>default {

   state_entry()
   {
       llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);
   }
   run_time_permissions(integer perm)
   {
       if(PERMISSION_TAKE_CONTROLS & perm)
       {
           llTakeControls(
                           CONTROL_FWD

注意点

アタッチメントのmouselookでのllGetRotは、アバタの見ている視角から返ります。

llMinEventDelayがこのイベントの遅延の倍くらいに設定される場合、このイベントはllMinEventDelayのあたかも半分だったかのように扱わるでしょう。言い換えれば、このイベントはllMinEventDelayが0.1より大きい場合、他のイベントと同じくしばしば2回作動する可能性があります。

私のテストは、エージェントのコントロールがそのエージェントではないキーを取得してしまったときに返すキーを決定的にしましたが、それはオーナのキーでした。一つ以上のスクリプトが一斉に複数のエージェントの同じオブジェクトの固有の権限を使用する場合、コントロールは全てのスクリプトで作動されるかもしれませんが、どのエージェントが実際に作動する要因となったか知る術はありません。Anthony Reisman 09:59, 14 February 2007 (PST)

参考情報

イベント

•  run_time_permissions

関数

•  llTakeControls
•  llReleaseControls
•  llRequestPermissions
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。