AX

電霊ログ

私のやってるサイト、電子の言霊の活動ログ

カテゴリークラウド

タグリスト

最近のトラックバック

月別アーカイブ(タブ)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • [HSP超入門] 繰り返し4

もう少し応用した繰り返しをやって見たいと思いますが、その前に1つ 新しい命令を覚えましょう。
覚えるのはウィンドウ内に四角を表示する boxf 命令です。

----//HSPヘルプからの引用//------------
boxf p1,p2,p3,p4

p1,p2 : 矩形の左上X,Y座標
p3,p4 : 矩形の右下X,Y座標
解説画面上に、 (p1,p2)と(p3,p4) を左上、右下の点として、現在の描画色で矩形を塗りつぶします。
---------------------------------------
これはHSPヘルプ内の boxf の説明ですが、p1,p2,p3,p4 という見慣れない物がありますね。
p1 は第一引数(パラメータ)、p2 は第二引数、p3 は第三引数、p4 は第四引数の事です。
命令によって与えるパラメータの数や内容が違ってくるので、注意してください。
見慣れない内は分かり辛いと思いますが、ヘルプなどでは全てこの書き方で書いてあるので覚えて置いて下さい。

実際に見た方が分かりやすいので、次のサンプルを実行して見て下さい

boxf 200,100,400,300


「実行結果」
20061211081520.png


この boxf 命令の引数には 矩形の左上X,Y座標 と 矩形の右下X,Y座標を指定します。
この矩形とは長方形(角が全て90度の四角形)の事で くけい や さしがた と読みます。おそらく「くけい」が一般的でしょう。
座標は前にも出て来ましたが、この場合左からどれだけ離れているか、上からどれだけ離れているかと言う距離の事で、
p1 は四角形を描き始めるX(横)座標
p2 は四角形を描き始めるY(縦)座標
p3 は四角形を描き終えるX(横)座標
p4 は四角形を描き終えるY(縦)座標
です。
ウィンドウズに初めから付いているペイントソフトには ドラッグ操作で好きな大きさの四角形を描く機能がありますが、その時のクリック押し始めの位置が p1,p2 に相当し、その後のクリックを放した位置が p3,p4 に相当します。
20061213185901.png


上のサンプルではウィンドウの左から200ピクセル(ドット)、上から100ピクセルの位置から描き始め、左から400ピクセル、上から300ピクセルの位置で描き終わる四角形を描いている事になります。
この時の四角形の大きさは横200ピクセル(400-200なので)、縦200ピクセル(300-100なので)です。(実際には1多くなります 詳しい話はまた今度。)

この boxf 命令は mes 命令と同じ様に color 命令によって色を変更する事が出来るので 試して見ましょう。

color 0,255,0
boxf 50,50,300,300


「実行結果」
20061211081526.png


ここでは 赤0、緑255、青0 を指定しているので緑色のボックスが表示されます。

それでは繰り返しの中でこの覚えたばかりの命令を使ってみようと思います。

repeat 10

color 0,0,cnt*28
boxf cnt*50,100,cnt*50+40,150

loop


「実行結果」
20061211081532.png


なんかぼーっとしてきそうなサンプルですが、順番に説明しようと思います。
まずパッと見 10回繰り返している事が分かります、そしてその中で color 命令で色を変更し boxf 命令で四角形を表示しています。
細かく見てみると、
color 命令によって色の設定をしていますが、青色を指定する場所には前回出てきた システム変数 cnt が使われていますね、boxf 命令の引数でも cnt が使われています。cnt がある事でなんか一気に複雑になった様に見えますが、順番に考えていくと分かって来る物なので ループ中の数値の動きをまとめて見ました。

「color 命令」
 1回目= color 0,0,0*28 = color 0,0, 0
 2回目= color 0,0,1*28 = color 0,0, 28
 3回目= color 0,0,2*28 = color 0,0, 56
 4回目= color 0,0,3*28 = color 0,0, 84
 5回目= color 0,0,4*28 = color 0,0,112
 6回目= color 0,0,5*28 = color 0,0,140
 7回目= color 0,0,6*28 = color 0,0,168
 8回目= color 0,0,7*28 = color 0,0,196
 9回目= color 0,0,8*28 = color 0,0,224
10回目= color 0,0,9*28 = color 0,0,252



「boxf 命令」
 1回目= boxf 0*50,100,0*50+40,150 = boxf 0,100, 0+40,150 = boxf 0,100, 40,150
 2回目= boxf 1*50,100,1*50+40,150 = boxf 50,100, 50+40,150 = boxf 50,100, 90,150
 3回目= boxf 2*50,100,2*50+40,150 = boxf 100,100,100+40,150 = boxf 100,100,140,150
 4回目= boxf 3*50,100,3*50+40,150 = boxf 150,100,150+40,150 = boxf 150,100,190,150
 5回目= boxf 4*50,100,4*50+40,150 = boxf 200,100,200+40,150 = boxf 200,100,240,150
 6回目= boxf 5*50,100,5*50+40,150 = boxf 250,100,250+40,150 = boxf 250,100,290,150
 7回目= boxf 6*50,100,6*50+40,150 = boxf 300,100,300+40,150 = boxf 300,100,340,150
 8回目= boxf 7*50,100,7*50+40,150 = boxf 350,100,350+40,150 = boxf 350,100,390,150
 9回目= boxf 8*50,100,8*50+40,150 = boxf 400,100,400+40,150 = boxf 400,100,440,150
10回目= boxf 9*50,100,9*50+40,150 = boxf 450,100,450+40,150 = boxf 450,100,490,150


どうでしょう?これなら何となく命令の動きが予想出来ると思います。
わざわざこのように書かなくても良いので、頭の中で考えてみると理解がしやすいはずです。(もちろんなれない内は書いてもOK)

ちょっと今回は分かりにくかったかもしれませんが、繰り返しによってパラメーターの値を変化させる事で、色を変えたり 表示位置を移動させていく事が出来るのです。repeat や boxf で遊んでいれば段々分かってくるので、色々と試して見て下さい。
次回も応用編ダス。

関連記事

コメント

コメントの投稿

   管理者にだけ表示を許可する
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。