javascriptで書かれた2Dゲーム向けのフレームワーク。ct.IDEという優秀なエディターが提供されている。
ゲームを
-
texture
スプライト、タイルセット、背景など。 -
copy
キャラや弾など。他のエンジンだと"object"や"actor"と呼ばれる。 -
type
copyのテンプレとなる。「型」とややこしい。- (v2.0では、
ct.types
はct.templates
に改名された)
- (v2.0では、
-
room
copyを置く平面。"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。
- 初心者、非技術者へのやさしさがある。
まだまだ発展途上だと思います。がんばって使っていきたいです。誰か全和訳してほしい。