あなたの世界を作りなさい
スクリプティング
イベント機能
8分
イベント関数は、unityエンジンのgameobjectまたはコンポーネントのライフサイクル中に自動的に呼び出される特別な関数です。したがって、ライフサイクルイベント関数とも呼ばれます。 イベント関数は、特定のタイミングでunityエンジンによって自動的に呼び出されます。 イベント関数は、unityエンジンのgameobjectまたはコンポーネントのライフサイクル中に自動的に呼び出される特別な関数であり、したがってライフサイクルイベント関数とも呼ばれます。 zepetoスクリプトライフサイクルフローチャート 初期化イベント 初期化イベントを使用して、更新の前に初期化コードを呼び出すことができます。 start関数は、物理更新の前と最初のフレームの前に呼び出され、awake関数はシーンを呼び出すときにシーン内の各オブジェクトに対して呼び出されます。 さまざまなオブジェクトのstartとawake関数はランダムな順序で呼び出されますが、すべてのawake呼び出しはstartが呼び出される前に完了します。 これは、start関数がawake関数で以前に実行された他の初期化を使用できることを意味します。 定期更新イベント 定期更新は、毎フレーム呼び出されるすべての更新を指します。 それらは、各フレームがレンダリングされる前に、オブジェクトの位置、状態、および動作を変更します。 zepetoscriptは、update関数内の計算処理のガイドラインを提供します。 物理イベント 物理イベントは、gameobjectに追加されたスクリプトを通じてイベント関数を呼び出します。 oncollisionenter、oncollisionstay、およびoncollisionexit関数は、接触が行われ、保持され、破られるときに呼び出されます。 ontriggerenter、ontriggerstay、およびontriggerexit関数は、オブジェクトコライダーがトリガーとして設定されているときに呼び出されます(つまり、衝突に物理的に反応せず、単にそれを検出するコライダー)。 このような関数は、物理更新中に複数の接触が検出されると、連続して何度も呼び出されることがあり、そのため衝突の詳細(位置、オブジェクトの識別)を提供するパラメータが関数に送信されます。 guiイベント zepetoscriptは、guiコントロールをレンダリングし、要素からのクリックに反応するイベントをサポートします。これらは通常のフレーム更新とは異なる動作をするため、ui関連のロジックはongui関数に配置する必要があります。 マウスイベント zepetoscriptでは、マウス操作に応じるイベントがサポートされています。 ただし、マウスイベントには、関連するgameobjectにcolliderまたはcollider2dが必要であり、そのcolliderがマウスでクリックされたときのみトリガーされます。 onmousedown()は、ユーザーがマウスボタンをクリックしたときに呼び出されます。 onmouseup()は、ユーザーがマウスボタンを放したときに呼び出されます。 onmouseover()は、マウスカーソルがgameobjectのcolliderまたはcollider2dの上にある間、毎フレーム呼び出されます。 終了イベント 終了イベントは、シーン内のすべてのアクティブなオブジェクトで呼び出されます。 ondisable関数は、指定されたオブジェクトが無効化または非アクティブになると呼び出され、onapplicationquitはアプリケーションが閉じる前にすべてのgameobjectで呼び出されます。 📘 unityイベント関数 https //docs unity3d com/kr/current/manual/eventfunctions html https //docs unity3d com/kr/current/manual/eventfunctions html zepetoscriptによって本質的にサポートされているすべてのイベント関数は、以下のサンプルコードにリストされています。 サンプル monobehaviourlifecycle import { zepetoscriptbehaviour } from 'zepeto script'; import { collider, collider2d, collision, collision2d } from 'unityengine'; export default class samplemonobehaviourlifecycle extends zepetoscriptbehaviour { awake() { console log('目覚め。'); } onenable() { console log('有効。'); } start() { console log('開始。'); } update() { console log('更新中。'); } fixedupdate() { console log('固定更新。'); } lateupdate() { console log('遅延更新。'); } ondisable() { console log('無効。'); } ondestroy() { console log('破壊。'); } ontriggerenter(coll collider) { console log(`トリガーに入る ${coll gameobject name}。`); } ontriggerexit(coll collider) { console log(`トリガーから出る ${coll gameobject name}。`); } ontriggerstay(coll collider) { console log(`トリガーに留まる ${coll gameobject name}。`); } ontriggerenter2d(coll collider2d) { console log(`2dトリガーに入る ${coll gameobject name}。`); } ontriggerexit2d(coll collider2d) { console log(`2dトリガーから出る ${coll gameobject name}。`); } ontriggerstay2d(coll collider2d) { console log(`2dトリガーに留まる ${coll gameobject name}。`); } oncollisionenter(coll collision) { console log(`衝突に入る ${coll gameobject name}。`); } oncollisionexit(coll collision) { console log(`衝突から出る ${coll gameobject name}。`); } oncollisionstay(coll collision) { console log(`衝突に留まる ${coll gameobject name}。`); } oncollisionenter2d(coll collision2d) { console log(`2d衝突に入る ${coll gameobject name}。`); } oncollisionexit2d(coll collision2d) { console log(`2d衝突から出る ${coll gameobject name}。`); } oncollisionstay2d(coll collision2d) { console log(`2d衝突に留まる ${coll gameobject name}。`); } ongui() { console log('gui。'); } onmousedown() { console log('マウスダウン。'); } onmousedrag() { console log('マウスドラッグ。'); } onmouseup() { console log('マウスアップ。'); } onmouseenter() { console log('マウスエンター。'); } onmouseexit() { console log('マウスエグジット。'); } onmouseover() { console log('マウスオーバー。'); } onmouseupasbutton() { console log('ボタンとしてマウスアップ。'); } onanimatorik(layerindex number) { console log(`アニメーターik ${layerindex}。`); } onapplicationfocus() { console log('アプリケーションフォーカス。'); } onapplicationpause() { console log('アプリケーション一時停止。'); } onapplicationquit() { console log('アプリケーション終了。'); } } テストコードの出力画面を以下で確認してください。 zepetoscriptが提供するunityイベント関数については、以下のリンクをクリックして詳しく学ぶことができます。 📘 イベント関数の実行順序 https //docs unity3d com/kr/current/manual/executionorder html https //docs unity3d com/kr/current/manual/executionorder html