二十三歩目 お絵描きソフトを作る(3)
〜line命令で線を引く〜
さあ、なんか前の歩目は あんまり楽しくなかったねm(_ _)m スマン
まとめて言うと 二十一歩目のプログラムで 点と点を線で結べばいいと
こう言うことだ でHSPの命令でどんなのがあれば良いだろうか?
もう分かるよね 線を引く命令があれば良いのだ!
それこそが line だ 使い方が簡単なので簡単に説明する
line 100,150,200,300 stop |
とやってみてくれ するとこうなる
※上の赤い線は僕がペイントで説明しやすくするために書いた
納得した? 上で書いた line 100,150,200,300 の
100というのは 線の片方のほうのX座標
150というのは 線の片方のほうのY座標
200というのは 線のもう一方のほうのX座標
300というのは 線のもう一方のほうのY座標
と言うことだ
〜lineを埋め込む〜
screen 0,200,200 ;ウインドウ0の大きさを変更 repeat ;繰り返しの始め getkey key,1 ;キー番号1のキーが押されたらkeyに1を入力 if key=1:line x,y,mousex,mousey ;keyが1だったら x座標x,y座標yの位置から ;x座標mousex y座標mouseyまで 線を引く x=mousex:y=mousey ;x変数にmousexの数字をy変数にmouseyの数字を入力 await 1 ;待つ loop ;repeatヘ戻る |
x=mousex:y=mousey |
これだね Xという変数にmousexの値を入れて Yという変数にmouseyの値を入れておく
こうすることで現在の mousex と mousey の値を保存するんだ
絵を書く部分のプログラムだけを説明すると
x=mousex:y=mousey でmousex と mousey の値を保存して
そして次に await 1 で待って
loop で repeat まで戻って
getkey
key,1 でマウスが押されているかチェックして
if
key=1:line x,y,mousex,mousey で 前のmousex(変数xに保存してある)と
mousey(変数yに保存してある)の位置から 今の mousex と mousey の位置まで
線を引きます
そしてまた x=mousex:y=mouseyで現在のmousexとmouseyの値を
変数にそれぞれ保存します
さあみなさん どう?納得したかね
ちょっと今回は難しかったなぁ
じゃあ皆さん それぞれどんどん自分で好きなようにアレンジしてみてください
絵を保存する機能をつけるとか
消しゴム機能とか 自己流にね
もし良かったら 僕にメールで作ったソフトを送ってくれるとうれしいです
まとめ line・・・片方のXY座標の位置から もう片方のXY座標まで線を引く line 100,150,200,300 |