Touch start/ja

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

説明

! イベント: touch_start( integer num_detected ){ ; }

エージェントがタスクのクリックを開始したときに発生します。

• integer num_detected 最後のクロック周期に検出されたエージェントの数

警告

  • タッチ系 イベント がない state からタッチ系イベントがある state に遷移すると、最初のタッチ系イベントは失われます。これは 3 つのタッチ系イベント全て (touch_start, touch, touch_end) にあてはまります。 SVC-3017 を参照してください。
  • プリムの Shared Media が動作していて、アバターのビューワがその機能をサポートしている場合、 LSL スクリプトはこの面に対するタッチを検出しません。以前のビューワでのタッチされたものは検出します。

サンプル

0 から num_detected - 1 までループさせて、検出したエージェントのキーを取得してみましょう: <lsl>default {

   touch_start(integer num_detected)
   {
       integer i = 0;
       for(; i<num_detected; ++i)
           llWhisper(0, "Touched by " + llKey2Name(llDetectedKey(i)));
   }

}</lsl><lsl>// If using a touch to change states be careful about the touch_ event order...

// On clicking a prim with touch events we trigger touch_start (as), touch (during) and touch_end (as released).

// The chain of events is established in the script as touch_start is triggered that remains intact until either

// touch_end is triggered or a new touch_start (discounting resets, deletions, taking to inventory etc.).

default {

   touch_start(integer nd)
   {
       llSay(0, "You just started touching me so I'm going to the other state...");
       state other;
   }

// A very rapid click would (and does if your VERY quick) beat the state change so the script would/does not behave as expected. } state other {

   touch_end(integer nd)
   {

// The average click will have you catapult through this state with nothing but a chatted message to remember it by.

       llSay(0, "The touch that brought you here just ended so I'm going back to default...");
       state default;
   }

}</lsl>

参考情報

特記事項

議論

   Server drops first touch event when a script returns to a state with a touch_start handler
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。