プログラミング講座(84) 図形ファイルを開く
図形エディタで図形ファイルから図形を読み込めるようにしました。また、図形の線の太さ、線の色、塗りつぶしの色を後から変更できるようにしました。TLW744 として発行しました。
【図87 Shapes 1.1】
図形ファイル(図形エディタの出力を保存した図形プログラム)から Shapes_Init() サブルーチンを読み込み、解析して shape 配列に登録するようにしました。
今回もプログラムの一部を GTV460-0 として発行しました。
この部分を連結して使用して出力した図形プログラムの中で、図形全体を回転する Shapes_Rotate() を呼ぶときは、その前に、Shapes_CalcWidthAndHeight() を呼んでください。サンプルを PSN020 として発行しましたので、参考にしてください。
さて、今回の版ではマウス制御の部分も改善しました。図形をマウスでクリックし、マウスボタンを放した後も、マウスを動かすと図形が動いてしまうという問題がありました。マウスを放したかどうか、判定する処理の前で、マウスを放してしまうとこの現象が起きていました。マウスをクリックを待つときに、マウスを放したかどうかについても監視を始めるようにしました。
さらに、図形のないところでマウスをドラッグすると、その後、図形を移動できないという問題が発生しました。これは Mouse_OnDown() というマウス移動時のイベントハンドラの中で、マウスを放したことを表すフラグ released に "False" を設定することで解決しました。このフラグが立ちっ放しになっていて、マウス移動が無視されていました。
図形エディタのように、マウス操作のようなイベントによってプログラムを制御するのは、結構複雑だと改めて感じました。
| 固定リンク
「Small Basic」カテゴリの記事
- プログラミング講座 (202) 1次元セルオートマトン(2020.09.20)
- プログラミング講座 (201) パラメーター(2020.09.14)
- プログラミング講座 (200) 3次ベジエ曲線(2020.09.14)
- プログラミング講座 (199) スーパー三角関数?(2020.09.02)
- プログラミング講座 (198) スーパー楕円(2020.09.01)
コメント
ファイルから読み込んだ直線を選択できないというバグがあったので、修正しました。XFZ657-11 として発行しました。
投稿: たかはしのんき | 2012/09/18 16:21