斜めの四角を描こう!
■はじめに
斜めの四角を描いてみよう。
正確か?といわれると、端がちょっと出てたり、まあ微妙だけど、その辺は大まかな感じで
多分動くんじゃないかなぁ、というスクリプトです。
座標の順番などで動かないこともあるような・・・という感じの実用度の低いスクリプトです。
あ、細長い矩形がかけないようです。うーむ。
実行結果はこんな感じです。
■スクリプト本体
■スクリプト解説
斜めの四角形が描きたい、という掲示板の質問から、いろいろ考えて作ってみました。
gzoom命令を使うと、自由な大きさにグラフィックを変形できるので、それを使おうと思い、
斜めの四角形の要素をいろいろと研究しました。

赤い線で補助線を引きながら考えていると、どうやら斜めの四角形というのは
上の図のように5つの部分がら成り立っているような、気がしてきました。
真ん中の四角形はbxof命令で描画すれば簡単そうです。
あとの部分は同じような形で、上下が反転しているだけです。
gzoom命令では上下反転も出来るので、これを利用しない手はありません。
naname.bmp
こんな形の部品を用意しました。
先のサンプルでは、 こんな構成になっています。
gzoom命令で、naname.bmpを縦横に伸ばして、対応する位置に置いています。
gzoom x2-x1,y2,2,100,0,-100,100
このように、コピーサイズにマイナスの値をしていすると図形を反転しながらコピーすることができます。
この場合は、X座標に-100を指定しているので、横方向の反転をします。
4つの3角形をコピーしたあと、最後にBoxf命令で塗りつぶせば終わりです。
今回はわざと色を変えてあります。
line命令の部分やwait命令は、動作の確認をするために入れているものなので、その辺は省いても動きます。