Skip to content

Sensing(調べる) ​

Sensing.askAndWait ​

質問をして答えを待つ


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 = function( this : Sprite ) {
    // ずっと繰り返す
    for( ;; ) {
        // スプライトが質問する
        this.Sensing.askAndWait( '何か答えて' );
        // ※ TypsScratcherにより自動的に『await』が付きます

        // 質問の答えを取り出す
        const answer = this.Sensing.answer;
        if( answer == 'YES' ) {
            // ループを抜ける
            break;
        }
        console.log( 'Answer=', answer ); // コンソールログへ答えを出力する
    }
    console.log( 'おわり' );
}

スプライトが質問すると

質問内容は、スプライトの『フキダシ』で表示されます。

Stage ​

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

const stage = new Ts.Stage();

// 旗が押されたときの『stage』のスレッド
stage.Event.flagPresser().func = function( this : Stage ) {
    // ずっと繰り返す
    for( ;; ) {
        // ステージが質問する
        this.Sensing.askAndWait( '何か答えて' );
        // ※ TypsScratcherにより自動的に『await』が付きます

        // 質問の答えを取り出す
        const answer = this.Sensing.answer;
        if( answer == 'YES' ) {
            // ループを抜ける
            break;
        }
        console.log( 'Answer=', answer ); // コンソールログへ答えを出力する
    }
    console.log( 'おわり' );
}

// 開始
Ts.engine.start();

ステージが質問すると

質問内容は、質問欄(トップ部)に表示されます。