3
2

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 1 year has passed since last update.

ct.jsとは

Last updated at Posted at 2020-12-13

javascriptで書かれた2Dゲーム向けのフレームワーク。ct.IDEという優秀なエディターが提供されている。
ゲームを

  • texture スプライト、タイルセット、背景など。
  • copy キャラや弾など。他のエンジンだと"object"や"actor"と呼ばれる。
  • type copyのテンプレとなる。「型」とややこしい。
    • (v2.0では、ct.typesct.templatesに改名された)
  • room copyを置く平面。"level"や"map"とも。

で表現する。1
copyという概念はいわゆるインスタンスやオブジェクトと呼ばれるモノのことなので"copy"という名前のクラスは存在しない...?(パッと見た限り。)

イベントの流れは以下の通り。2

  1. roomoncreate
  2. copyoncreate
  3. 現在のroomについてメインループ
    1. copyonstep
    2. roomonstep
    3. killされたcopyondestroy
    4. copyondraw
    5. roomondraw
    6. インプットイベントがクリアされる。
  4. 新しいroomに到達したらonleave

例) ct.IDEで編集する主人公Catのtype 3

image.png

最初の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。
  • 初心者、非技術者へのやさしさがある。

まだまだ発展途上だと思います。がんばって使っていきたいです。誰か全和訳してほしい。

  1. https://docs.ctjs.rocks/#basic-concepts

  2. https://docs.ctjs.rocks/event-order.html#call-order-with-mod-s-injections

  3. ct.jsの用意したサンプルをもとに

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?