BaseActor

parallelメソッド

新しくスレッドを起動し、並行処理を行います

書式

parallel(methodName, args...)

戻り値

生成されたスレッド

補足

// objオブジェクトのfooメソッドを待機可能モードで実行
// このプログラム自身は待機不能モードでもOK
obj.parallel("foo");

Char

x=100;y=100;
// go, scale, shot の各メソッドを並行に実行
parallel("go",3);
parallel("scale",0.1);
parallel("shot");
\go(speed) {
    while(true) {
        print("Go Left");
        while(x<300) {
            x+=speed;
            update();
        }
        print("Go Right");
        while(x>100) {
            x-=speed;
            update();
        }
    }
}
\scale(speed) {
    var i;
    while(true) {
        print("Bigger");
        for (i=0;i<17;i++) {
            scaleX+=speed;
            update();
        }
        print("Smaller");
        for (i=0;i<17;i++) {
            scaleX-=speed;
            update();
        }
    }
}
\shot() {
    var i;
    while(true) {
        for (i=0;i<3;i++) {
            print("Shot");
            new Bullet{x,y};
            updateEx(10);
        }
        updateEx(30);
    }
}

Bullet

while(y<$screenHeight) {
    y+=10;
    update();
}
die();

参考