このWikiは古くなりました:新しいWikiへ移動

Objectに戻る

Object.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)

例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-----

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-11-14 (火) 21:24:37 (2353d)