//METHOD
[[PlainChar]]に戻る
[[PlainChar.crashToLine]] - オブジェクトと線分の衝突判定を行います。
**書式
crashToLine(sx,sy,dx,dy,width,xx,yy)
:sx| 始点のx座標
:sy| 始点のy座標
:dx| 終点のx座標
:dy| 終点のy座標
:width| 線分の幅
:xx(省略可能)| 判定する点のx座標。省略するとオブジェクトのxの値
:yy(省略可能)| 判定する点のy座標。省略するとオブジェクトのyの値
**戻り値
(sx,sy)と(dx,dy)を結ぶ、幅がwidthドットの線分と点(xx,yy)がぶつかっていれば
真(0でない値)。そうでなければ偽 (0)
''※'' (sx,sy)と(dx,dy) が一致してしまうとエラーになります
**例1
//------LineRoll.tonyu-----
extends SpriteChar;
a=0;
while (1) {
sx=x+cos(a)*100;
sy=y+sin(a)*100;
drawLine(x,y,sx,sy,$clWhite);
update();
a+=rnd(10);
}
//--end of LineRoll.tonyu-----
//---- Jiki.tonyu-----
extends SpriteChar;
while(1) {
if (getkey(39)>0) x+=3;
if (getkey(37)>0) x-=3;
if (getkey(40)>0) y+=3;
if (getkey(38)>0) y-=3;
if (crashToLine($LineRoll.x,$LineRoll.y,$LineRoll.sx,$LineRoll.sy,10)) {
die();
}
update();
}
//---- end of Jiki.tonyu-----