Difference between revisions of "State entry/ja"

From Second Life Wiki
Jump to navigation Jump to search
(New page: {{LSL_Event/ja |event_id=0|event_delay|event=state_entry |event_desc=いずれかのステート変移及びステート開始で作動します。 |constants |spec= === 作動する状況...)
 
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL_Event/ja
{{Issues/SVC-3379}}{{LSL_Event/ja
|event_id=0|event_delay|event=state_entry
|event_id=0|event_delay|event=state_entry
|event_desc=いずれかのステート変移及びステート開始で作動します。
|event_desc=state が遷移するとき、もしくはスクリプトの起動時に発生します。
|constants
|constants
|spec=
|spec=
=== 作動する状況 ===
=== 発生します ===
#スクリプトを保存する、あるいはオブジェクトに加える。
#スクリプトを保存したとき、もしくはオブジェクトに追加したとき
#ステートの変更
#state が変更されたとき
#*ステート変移時、それまでの古いステートで[[state_exit/ja|state_exit]]が作動し、移った先の新しいステートで[[state_entry/ja|state_entry]]が作動されます。それまでのキュー内にあるすべてのある他のイベントは、ステート変更の結果失われます。
#*遷移元の state で {{LSLG/ja|state_exit}} が発生し、遷移先の state で {{LSLG/ja|state_entry}} が発生します。 state が変更されると、キューに残っている他のイベントは全て破棄されます。
#クライアントあるいは[[llResetScript/ja|llResetScript]]、[[llResetOtherScript/ja|llResetOtherScript]]のいずれかでのスクリプトリセット時。
#スクリプトがリセットされたとき。クライアントから、または {{LSLG/ja|llResetScript}} / {{LSLG/ja|llResetOtherScript}} から。
#スクリプトのステータスが保存されないままオブジェクトがrezされた時。
#スクリプトの実行状態が保存されていない状態でオブジェクトが rez されたとき
#*インワールドから取得してコピーされた場合。
#*インワールドでコピーが取られたとき
#*イベントが、スクリプト禁止の土地だったために起動されていなかった場合。
#*今までスクリプト禁止のエリアにあったために、イベントが発生していなかったとき


=== 作動しない状況 ===
=== 発生しません ===
#スクリプトのステータスが保存された上でオブジェクトがrezされた時。
#スクリプトの実行状態が保存されている状態でオブジェクトが rez されたとき
#*この状況下では[[on_rez/ja|on_rez]]イベントを使います。
#*このケースでは、 {{LSLG/ja|on_rez}} イベントを使用しましょう
|caveats
|caveats
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
     state_entry()
     state_entry()
Line 23: Line 23:
         llSay(0, "Hello, Avatar!");
         llSay(0, "Hello, Avatar!");
     }
     }
}</lsl>
}</source>
|helpers
|helpers
|also_header
|also_header
|also_events={{LSL DefineRow||[[on_rez/ja|on_rez]]|オブジェクトがrezされたときに作動します}}
|also_events={{LSL DefineRow||{{LSLG/ja|on_rez}}|オブジェクトが rez されたときに発生します}}
{{LSL DefineRow||[[state_exit/ja|state_exit]]|ステートがステート変更で終了するときに作動します}}
{{LSL DefineRow||{{LSLG/ja|state_exit}}|state から抜けたときや、 state が変更されるときに発生します}}
|also_functions={{LSL DefineRow||[[llResetScript/ja|llResetScript]]|スクリプトをリセットします}}
|also_functions={{LSL DefineRow||{{LSLG/ja|llResetScript}}|スクリプトをリセットします}}
{{LSL DefineRow||[[llResetOtherScript/ja|llResetOtherScript]]|プリム内のほかのスクリプトをリセットします}}
{{LSL DefineRow||{{LSLG/ja|llResetOtherScript}}|プリムの中の他のスクリプトをリセットします}}
{{LSL DefineRow||[[llGetStartParameter/ja|llGetStartParameter]]|[[on_rez/ja|on_rez]]のパラメータ(あるいは[[llRemoteLoadScriptPin/ja|llRemoteLoadScriptPin]]のパラメータ)}}
{{LSL DefineRow||{{LSLG/ja|llGetStartParameter}}|{{LSLG/ja|on_rez}} の引数 (または {{LSLG/ja|llRemoteLoadScriptPin}} の引数)}}
|also_articles
|also_articles
|also_footer
|also_footer

Latest revision as of 10:20, 21 February 2016

説明

イベント: state_entry( ){ ; }

state が遷移するとき、もしくはスクリプトの起動時に発生します。


仕様

発生します

  1. スクリプトを保存したとき、もしくはオブジェクトに追加したとき
  2. state が変更されたとき
    • 遷移元の state で state_exit が発生し、遷移先の state で state_entry が発生します。 state が変更されると、キューに残っている他のイベントは全て破棄されます。
  3. スクリプトがリセットされたとき。クライアントから、または llResetScript / llResetOtherScript から。
  4. スクリプトの実行状態が保存されていない状態でオブジェクトが rez されたとき
    • インワールドでコピーが取られたとき
    • 今までスクリプト禁止のエリアにあったために、イベントが発生していなかったとき

発生しません

  1. スクリプトの実行状態が保存されている状態でオブジェクトが rez されたとき
    • このケースでは、 on_rez イベントを使用しましょう

サンプル

default
{
    state_entry()
    {
        llSay(0, "Hello, Avatar!");
    }
}

参考情報

イベント

•  on_rez オブジェクトが rez されたときに発生します
•  state_exit state から抜けたときや、 state が変更されるときに発生します

関数

•  llResetScript スクリプトをリセットします
•  llResetOtherScript プリムの中の他のスクリプトをリセットします
•  llGetStartParameter on_rez の引数 (または llRemoteLoadScriptPin の引数)

特記事項

議論

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