1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PlayCanvas で class を使う

Posted at

少し前に ES6 に対応していたようで、よく見たら class にも対応していました。

以下の書き方で class の記法で ScriptRegistry への登録を行えます。

// define a ES6 script class
class PlayerController extends pc.ScriptType {

    initialize() {
        // called once on initialize
    }

    update(dt) {
        // called each tick
    }
}

// register the class as a script
pc.registerScript(PlayerController);

// declare script attributes (Must be after pc.registerScript())
PlayerController.attributes.add('attribute1', {type: 'number'});

リンク先の公式ページにも書いてありますが、 pc.ScriptType の継承は必須です。
また、pc.registerScript()の後でしかattributes.add()できないらしいです。


個人的には、こっちの書き方の方がUnityっぽくていいのですが、
attributes.add()がメソッドの定義より下に来てしまうのがなんとなく気持ち悪いので、
prototype を使う普通の書き方を使用しようか迷い中です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?