🤔

Vite + Createjs + TypeScriptの環境構築

2024/09/20に公開

結論

  • createjs-moduleを使う

vite

$ npm create vite@latest

createjs

npm install createjs-module --save

https://www.npmjs.com/package/createjs-module

プログラム

//createjs-moduleを読み込む
import * as createjs from "createjs-module";

const stage = new createjs.Stage("canvas");
const circle = new createjs.Shape();
circle.graphics.beginFill("DarkRed").drawCircle(0, 0, 50);
stage.addChild(circle);

circle.x = 300;
circle.y = 200;

createjs.Tween.get(circle, { loop: true })
  .wait(300)
  .to({ x: 740, y: 400, scale: 2 }, 700)

// 毎フレームステージを自動更新する
createjs.Ticker.on("tick", () => {
  stage.update();
});

htmlの方にcanvas要素を用意し、canvasというidを付与する。サンプルコードなので自由にしてください。

苦労したストーリー

  • createjs + typescriptの情報が全くない
    • あってもみんなバラバラ
    • viteでやってる人は多分いないはず
  • 型が効かない
  • 結局createjs-moduleを使うことで落ち着いた

備考

  • 公式のcreatejsを入れてcreatejs-moduleのtypeだけ使うのもアリかも
  • createjs-moduleに頼りすぎ。本当は公式を使いたい…。
  • いつかまた挑戦したいが、そもそもcreatejsが古いので次はphaserに入ってるかも。
    • つまり今回の挑戦は最初にして最後かもしれない

参考

https://qiita.com/tonkotsuboy_com/items/8cc5c77aa91b1a3ac321
https://www.osumoi-stdio.com/pyarticle/book/45/12
https://ics.media/entry/13453/
https://qiita.com/gyohk/items/2f50b5732070b6c5db6f
https://itouhiro.hatenablog.com/entry/20150420/js
https://github.com/CreateJS/EaselJS/issues/796#issuecomment-360574678

Discussion