Skip to content

Event(イベント)

Event.flagPresser (旗が押されたときのスレッド定義)


Sprite

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

const cat = new Ts.Sprite( 'cat' );

// 旗を押されたときのスプライト(cat)のスレッド
cat.Event.flagPresser().func = async function* ( this : Sprite ) {
    // ここにスレッドのコードを書く
}

async function* ( this:Sprite )

スレッドの function 引数として、『this: 型』を渡していますが、これは本当に呼出し時に『this』が渡されてくるわけではありません。

functionのなかで使われる『this』の型を明示するために、引数がゼロ個の場合でも『this:型』を疑似引数として付与しています。

これは『Typescript』における『this』の使い方の仕様です。

this』の型は『Sprite』です、『Stage』です!!、と宣言をしているわけです。

Stage

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

const stage = new Ts.Stage();

// 旗を押されたときのステージのスレッド
stage.Event.flagPresser().func = async function* ( this : Stage ) {
    // ここにスレッドのコードを書く
}