Difference between revisions of "LlPassTouches/ja"
Jump to navigation
Jump to search
そして、子プリムにこのスクリプトを追加します -
Mako Nozaki (talk | contribs) |
|||
Line 8: | Line 8: | ||
|caveats=ルートプリムでは ({{LSLG/ja|TRUE}} が設定されても {{LSLG/ja|FALSE}} が設定されても) 何も起こりません。タッチ情報は、'''子に touch イベントのスクリプトがなければ'''、子のスクリプトの別のイベントで {{LSLG/ja|TRUE}} が設定されていても {{LSLG/ja|FALSE}} が設定されていても、常にルートプリムに伝達されます。子プリムからのタッチ情報をブロックしたければ、'''touch イベントがついた''' スクリプトを子プリムに加えなければなりません。これはデフォルトで '''伝達しない''' となります。 | |caveats=ルートプリムでは ({{LSLG/ja|TRUE}} が設定されても {{LSLG/ja|FALSE}} が設定されても) 何も起こりません。タッチ情報は、'''子に touch イベントのスクリプトがなければ'''、子のスクリプトの別のイベントで {{LSLG/ja|TRUE}} が設定されていても {{LSLG/ja|FALSE}} が設定されていても、常にルートプリムに伝達されます。子プリムからのタッチ情報をブロックしたければ、'''touch イベントがついた''' スクリプトを子プリムに加えなければなりません。これはデフォルトで '''伝達しない''' となります。 | ||
|constants | |constants | ||
|examples=2 個のプリムからなる {{LSLG/ja|LINK_SET|リンクセット}} (オブジェクト) を作成しましょう。ルートプリムを "Parent" とし、子プリムを "Child" とします。ルートプリムにこのスクリプトを追加しましょう。 -< | |examples=2 個のプリムからなる {{LSLG/ja|LINK_SET|リンクセット}} (オブジェクト) を作成しましょう。ルートプリムを "Parent" とし、子プリムを "Child" とします。ルートプリムにこのスクリプトを追加しましょう。 -<source lang="lsl2">integer told; | ||
default | default | ||
Line 31: | Line 31: | ||
} | } | ||
} | } | ||
}</ | }</source>そして、子プリムにこのスクリプトを追加します -<source lang="lsl2">integer once_is_too_often; | ||
default | default | ||
Line 52: | Line 52: | ||
} | } | ||
} | } | ||
}</ | }</source> | ||
|helpers | |helpers | ||
|also_events= | |also_events= |
Latest revision as of 12:54, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llPassTouches( integer pass );警告
サンプル
2 個のプリムからなる リンクセット (オブジェクト) を作成しましょう。ルートプリムを "Parent" とし、子プリムを "Child" とします。ルートプリムにこのスクリプトを追加しましょう。 -
integer told;
default
{
state_entry()
{
told = FALSE;
}
touch_start(integer total_number)
{
if(!(llDetectedLinkNumber(0) == llGetLinkNumber()))// このように条件文を使って、タッチが発生したプリムを除外します。
{
llSay(0, "あなたが触ったって、うちの子が言ってたの。 Abuse Report を出すわよ。");// 子プリムが 2 回タッチされた場合にのみ表示されます。
told = TRUE;
}
else
{
if(!told)
llSay(0, "どうぞお好きにお触りください。");// 知らない親はあなたを誘います。
else
llSay(0, "やろうと思ったらあなたの手なんか切り落としてしまえるんだからね!");// これ以上触るな
}
}
}
integer once_is_too_often;
default
{
state_entry()
{
llPassTouches(FALSE);// 経験のない子は、最初は何を言えばいいかわかりません。
once_is_too_often = FALSE;
}
touch_start(integer total_number)
{
if(llDetectedLinkNumber(0) == llGetLinkNumber())// 再び誰が触ったかチェックします。
{
if(!once_is_too_often)
{
llSay(0, "今度触ったら言いつけるぞ。");
llPassTouches(TRUE); // しかし 2 回目は、言いつけます。
once_is_too_often = TRUE;// そしておとなしくなります。
}
}
}
}
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。