Skip to content

TypeScracherとは何?

簡単なサンプル


※ 動画再生ボタンを押して再生しましょう


index.ts

typescript
import { Typescratcher as Ts } from "@tscratch3/typescratcher";
import type { Sprite } from "@tscratch3/typescratcher";

// 画像を読み込みます。ここではScratch財団が公開してる画像URLを使います
const CatASvg = 'https://cdn.assets.scratch.mit.edu/internalapi/asset/bcf454acf82e4504149f7ffe07081dbc.svg/get';
const BlueskySvg = 'https://cdn.assets.scratch.mit.edu/internalapi/asset/e7c147730f19d284bcd7b3f00af19bb6.svg/get';

// イメージを作成します
const CatAImage = new Ts.Image( { CatASvg } );
const BlueskyImage = new Ts.Image( { BlueskySvg } );

// スプライトを作成します
const cat = new Ts.Sprite( "cat" );
cat.Costume.add( CatAImage ); // イメージ追加

// ステージを作成します
const stage = new Ts.Stage();
stage.Backdrop.add( BlueskyImage ); // 背景追加

// 旗クリックされたときのイベントを定義します
cat.Event.flagPresser().func = async function*( this: Sprite ) {
    // ずっと繰り返す
    for( ;; ) {
        // Motion.move.steps: 指定した数だけ動かします
        this.Motion.move.steps( 5 );
        // Motion.move.ifOnEdgeBounce: もし端についていたら跳ね返る
        this.Motion.move.ifOnEdgeBounce();
        
        yield; // 次のフレームになるまで一時停止する
    }
}

// エンジンを開始します
Ts.engine.start();

コードプログラミングならでは

前半部 #1 ~ #18 は 素材の読み込みやスプライト作成などの事前準備のコードです。
Scratch3では事前準備のステップが非常に簡単ですが、コードプログラミングではちょっと面倒ですね
この準備作業は「はしょれない」ので、面倒といわずに付き合ってくださいね。