2015/12/25(金) [n年前の日記]
#2 [pc][dxruby] キャラグラエディタ作成中
色々機能追加中。
◎ 押したキーで文字描画する機能をつけた。 :
キーボードを打つと、押したキーに対応した文字を描画する機能をつけた。
DXRubyで、押したキーに対応する文字を取得するあたりを、どうやって書いたらいいか悩んだけど。[[K_A, "A"], [K_B, "B"]...[K_Z,"Z"]] みたいな配列を作って、一つ一つ Input.keyPush?() で見ていくというアホなことを。まあ、一応動いてるから、これでいいか…。そもそも頻繁に使う機能ではないはずだし。
考えてみたら、配列を作らなくてもASCIIコードでループを回せば済むんじゃ…。いや、特殊なキーは事前に列挙しておかないとダメか…。だったら配列で持っていてもいいよな…。
DXRubyで、押したキーに対応する文字を取得するあたりを、どうやって書いたらいいか悩んだけど。[[K_A, "A"], [K_B, "B"]...[K_Z,"Z"]] みたいな配列を作って、一つ一つ Input.keyPush?() で見ていくというアホなことを。まあ、一応動いてるから、これでいいか…。そもそも頻繁に使う機能ではないはずだし。
考えてみたら、配列を作らなくてもASCIIコードでループを回せば済むんじゃ…。いや、特殊なキーは事前に列挙しておかないとダメか…。だったら配列で持っていてもいいよな…。
◎ Undo機能をつけた。 :
Undo機能をつけたら、ツールとして結構それらしくなってきた。
Undoの実装は、何かするたびにキャンバスデータを配列に追加(push)するという酷いやり方。undo_buf.push(Marshal.load(Marshal.dump(canvas.data))) みたいな。酷過ぎる。けど、一応動いてるから、これでいいか…。
Undoの実装は、何かするたびにキャンバスデータを配列に追加(push)するという酷いやり方。undo_buf.push(Marshal.load(Marshal.dump(canvas.data))) みたいな。酷過ぎる。けど、一応動いてるから、これでいいか…。
[ ツッコむ ]
以上です。