用途別リファレンス

ジャンプする

Ball

extends BodyActor;
shape="circle";
while(true) {
    if (getkey("left")) vx=-3;   
    if (getkey("right")) vx=3;   
    // スペースキーが押されていて、しかもFloorと触れているときに上に力を加える
    if (getkey("space")==1 && contactTo(Floor)) vy=-10;
    update();
}

Main

new Ball{x:100,y:100};
new BodyActor{x:250,y:400,width:400,height:30,fillStyle:"white",isStatic:true};

なお,上のプログラムではFloorに横から当たったときにもジャンプ(壁蹴り)ができるようになっています.壁蹴りをできなくするには,当たった位置を特定するためにcontactPointメソッドを用います.

Ball

extends BodyActor;
shape="circle";
while(true) {
    if (getkey("left")) vx=-3;   
    if (getkey("right")) vx=3;   
    if (getkey("space")==1) {
        cp=contactPoint(Floor);//触れている位置を含めて判定
        if (cp) {//触れていれば
            if (cp.y>y+2) {//当たった点(cp)のy座標が自分より少し下だったら,ジャンプできると判定
               vy=-10;
            }
        }
    }
    update();
}

参照

ライブデモ