スクリプト/線を引く関数(履歴ID:444)
最終投稿者: ikosami
更新:2013/03/07 23:25:24
この関数を使うと線を引くことができます。
Ver2.5
①2点の座標から線を引く関数
②座標と長さ,角度から線を引く関数
③線を消す関数
サンプルゲーム
線を引くスクリプト - 【ノベルゲーム】
①2点の座標から線を引く関数
line(線番号,x1,y1,x2,y2)
こんな感じにすると四角形ができます。
②座標と長さ,角度から線を引く関数
line(線番号,x,y,長さ,角度) ※角度は右から時計回り
こんな感じにすると四角形ができます。
③線を消す関数
deleteline(線番号)です。
①と②を共通して使う場合は
def line(b,x,y,n,r) ⇒ def line2(b,x,y,n,r)
などにしてください。
ちなみに、線の多いゲームを作る場合は、このままだとdrawCanvas()が線を引くたびに実行されますので
都合のいいように改良してください。
Ver2.5
①2点の座標から線を引く関数
②座標と長さ,角度から線を引く関数
③線を消す関数
サンプルゲーム
線を引くスクリプト - 【ノベルゲーム】
①2点の座標から線を引く関数
def line(b,x1,y1,x2,y2) g = 99999#ここに点の画像IDを。 setCanvasVisible(true) if !getVariable("line") setVariable("line", createArray()) end x = (x2-x1) y = (y2 - y1) n = floor(sqrt((x*x)+(y*y))) k = atan2(y, x) if !getVariable("line")[b] getVariable("line")[b] = createSprite(g) end se = getVariable("line")[b] setSpriteRotation(se, k) setSpriteRect(se, 0, 0, 1, 1, 0, 0, n, 1) setSpritePosition(se, x1, y1) drawCanvas() end
line(線番号,x1,y1,x2,y2)
line(0,100,100,100,200) line(1,100,200,200,200) line(2,200,200,200,100) line(3,200,100,100,100)
こんな感じにすると四角形ができます。
②座標と長さ,角度から線を引く関数
def line(b,x,y,n,r) setCanvasVisible(true) if !getVariable("line") setVariable("line", createArray()) end k = (r * 2.0 * pi() / 360.0) if !getVariable("line")[b] getVariable("line")[b] = createSprite(g) end se = getVariable("line")[b] setSpriteRotation(se, k) setSpriteRect(se, 0, 0, 1, 1, 0, 0, n, 1) setSpritePosition(se, x, y) drawCanvas() end
line(線番号,x,y,長さ,角度) ※角度は右から時計回り
line(0,100,100,100,0) line(1,200,100,100,90) line(2,200,200,100,180) line(3,100,200,100,270)
こんな感じにすると四角形ができます。
③線を消す関数
def deleteline(b) if getVariable("line")[b] deleteSprite(getVariable("line")[b]) end drawCanvas() end
deleteline(線番号)です。
①と②を共通して使う場合は
def line(b,x,y,n,r) ⇒ def line2(b,x,y,n,r)
などにしてください。
ちなみに、線の多いゲームを作る場合は、このままだとdrawCanvas()が線を引くたびに実行されますので
都合のいいように改良してください。