javascriptで書かれた2Dゲーム向けのフレームワーク。ct.IDEという優秀なエディターが提供されている。
ゲームを
-
textureスプライト、タイルセット、背景など。 -
copyキャラや弾など。他のエンジンだと"object"や"actor"と呼ばれる。 -
typecopyのテンプレとなる。「型」とややこしい。- (v2.0では、
ct.typesはct.templatesに改名された)
- (v2.0では、
-
roomcopyを置く平面。"level"や"map"とも。
で表現する。1
copyという概念はいわゆるインスタンスやオブジェクトと呼ばれるモノのことなので"copy"という名前のクラスは存在しない...?(パッと見た限り。)
イベントの流れは以下の通り。2
-
roomのoncreate - 各
copyのoncreate - 現在の
roomについてメインループ- 各
copyのonstep -
roomのonstep -
killされたcopyのondestroy - 各
copyのondraw -
roomのondraw - インプットイベントがクリアされる。
- 各
- 新しい
roomに到達したらonleave
例) ct.IDEで編集する主人公Catのtype 3
最初のroomである"Level_01"に1つだけ、このCatが配置されているので、ゲームが始まり次第このtypeをもとにCatオブジェクトが生成され、カメラが寄るなどの初期設定を行う。
なお、Catはonstepで
onstepの抜粋
if (ct.actions.Shoot.pressed) { // bulletを生成、方向を指定 => 発砲
const bullet = ct.types.copy('Bullet', this.x, this.y - 5);
bullet.direction = ct.u.pdn(this.x, this.y - 5, ct.mouse.x, ct.mouse.y);
}
と弾オブジェクトを生成する。
ct.jsのいいところ
- IDEが用意されていることに尽きる。逆にこれありきなのが欠点だけど仕方ない。
- "Learn about ..."みたいなボタンを押すとすぐにドキュメント(英語)が読める。
- あまつさえエディタ右側中央の"<"ボタンからも見れる。
- 2D限定でこじんまりとしたC#を見ずに済むUnity。
- 初心者、非技術者へのやさしさがある。
まだまだ発展途上だと思います。がんばって使っていきたいです。誰か全和訳してほしい。
