JavaScript
PlayCanvas
0
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

[PlayCanvas]他のEntityのScriptを取得する

概要

例えば、衝突処理などが発生した時に、そのぶつかった対象に影響を与えるなどをするために必要な処理。

実装例

Sample.js
var Sample = pc.createScript('sample');

Sample.prototype.test = function( param ){
    console.log( param );
};
Call.js
var Call = pc.createScript('call');

Call.prototype.initialize = function(){
    var entity = ~~~; // 何かしらの手段でEntityを取得したとする

    // 安全でないアクセス
    entity.script.sample.test('Unsafe Call.');

    // 安全なアクセス方法
    // 1. EntityにScriptコンポーネントがあるかを調べる
    // 2. Scriptコンポーネント内にScriptがあるか調べる
    if(entity.script && entity.script.has('sample')){
        entity.script.sample.test('Safe Call.');
    }
};

PlayCanvasはEntityにScriptというコンポーネントを追加して、そこにJavaScriptで書かれたScriptを追加していく方式なので注意が必要。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
RabitBox
某社でネイティブアプリとか開発しつつ、Vantanで補助講師とかやってるクソザコプログラマー
この記事は以下の記事からリンクされています

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
2022年に流行る技術予想
~
0
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー