たっけんの気まぐれ撫子日記 このページをアンテナに追加 RSSフィード

2008年06月15日 日曜日作成中の描画エディタ

まずは、現在作成中の描画エディタのプログラムを・・・


 『#親部品名,部品名,テキスト,ショートカット,オプション,イベント
 なし,ファイルメニュー,ファイル,,,
 -,新規メニュー,新規,,,新規作成
 -,nlpopen,nlp開く,,,nlp読み込み
 -,nlpsave,nlp保存,,,nlp保存
 -,ndpsave,ndpで保存,,,ndp保存
 -,-,,,,
 -,exit,閉じる,,,終了
 なし,描画機能メニュー,描画機能,,,
 -,linedraw,直,,,直描画
 -,squaredraw,四角,,,四角描画
 -,circledraw,,,,描画
 -,drawedit,描画ログエディタ,,,描画ログ表示
 -,redraw,再描画,,,再描画
 』をメニュー一括作成母艦は「描画エディタ」

描画ログとはTエディタ
それは「」
のW=0
のH=0

●新規作成
 $FFFFFFで画面クリア
 描画ログは「」

●nlp読み込み
 「*.nlp」のファイル選択して読込先に代入
 読込先を読んで描画ログに代入
 描画ログをナデシコする
 2
  描画ログをCSV取得
  それの0を配列削除
  それを描画ログに代入
  
●nlp保存
 「*.nlp」の保存ファイル選択して保存先に代入
 描画ログは「母艦のW={母艦のW}{改行}母艦のH={母艦のH}{改行}{描画ログ}」
 描画ログを保存先に保存

●ndp保存

●直描画
 描画スイッチは「直始点」
 母艦は「始点をクリックしてください」

●四角描画
 描画スイッチは「四角始点」
 母艦は「始点をクリックしてください」

●描画
 描画スイッチは「始点」
 母艦は「始点をクリックしてください」

●描画ログ表示
 描画ログのレイアウトは全体

●再描画
 描画ログのレイアウトは普通
 のW=0
 のH=0
 $FFFFFFで画面クリア
 描画ログをナデシコする

母艦のマウス押した時は
 もし描画スイッチが「直終点」ならば
  X2=母艦のマウスX
  Y2=母艦のマウスY
  X1,Y1からX2,Y2へ
  描画スイッチは「」
  母艦は「」
  描画ログは「{描画ログ}{X1},{Y1}から{X2},{Y2}へ{改行}」
 もし描画スイッチが「直始点」ならば
  X1=母艦のマウスX
  Y1=母艦のマウスY
  描画スイッチは「直終点」
  母艦は「終点をクリックしてください」
 もし描画スイッチが「四角終点」ならば
  X2=母艦のマウスX
  Y2=母艦のマウスY
  X1,Y1からX2,Y2へ四角
  描画スイッチは「」
  母艦は「」
  描画ログは「{描画ログ}{X1},{Y1}から{X2},{Y2}へ四角{改行}」
 もし描画スイッチが「四角始点」ならば
  X1=母艦のマウスX
  Y1=母艦のマウスY
  描画スイッチは「四角終点」
  母艦は「終点をクリックしてください」
 もし描画スイッチが「終点」ならば
  X2=母艦のマウスX
  Y2=母艦のマウスY
  X1,Y1からX2,Y2へ
  描画スイッチは「」
  母艦は「」
  描画ログは「{描画ログ}{X1},{Y1}から{X2},{Y2}へ{改行}」
 もし描画スイッチが「始点」ならば
  X1=母艦のマウスX
  Y1=母艦のマウスY
  描画スイッチは「終点」
  母艦は「終点をクリックしてください」

さて、このプログラムで工夫した点は、

母艦のマウス押した時は

の部分ですね。ここのプログラムは

もし描画スイッチが「●●終点」ならば

もし描画スイッチが「●●始点」ならば

の順番にないといけないんです。

もし描画スイッチが「●●始点」ならば

もし描画スイッチが「●●終点」ならば

の順番だといけないのは、プログラムは上から順番に読まれるということなので、この2つの動作が同時に行われてしまうのです。

次は、

nlp保存
 「*.nlp」の保存ファイル選択して保存先に代入
 描画ログは「母艦のW={母艦のW}{改行}母艦のH={母艦のH}{改行}{描画ログ}」
 描画ログを保存先に保存

の部分です。ここでは、まず、保存先を指定させて、描画記録(描画ログ)に母艦の大きさの情報を加えて、保存させます。

して、

nlp読み込み
 「*.nlp」のファイル選択して読込先に代入
 読込先を読んで描画ログに代入
 描画ログをナデシコする
 2
  描画ログをCSV取得
  それの0を配列削除
  それを描画ログに代入

で、読み込むわけですが、の後、また、保存するときに、以前の母艦の大きさの情報があると邪魔なので、最後の4行で削除します。この部分は、質問掲示板で質問して(http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=all&namber=6385&type=0&space=0&no=0)chocoさんに答してもらったものを少し変えて使いました。短くて、個人的に理解しやすかったので^^;chocoさんありがとうございます。

あ、あと「描画ログ表示」「再描画」機能を使って、描画したものの微調整(?)ができるようになってます。

トラックバック - http://nadesiko.g.hatena.ne.jp/takken123/20080615