趣味でMakeCode Arcadeを使ったゲーム開発をちょくちょくやっているのですがImageを2倍、3倍に拡大したい事が増えてきました。

それまではそんなに多くないかと思って手作業でやってたのですがこれからも使えそうだったのでツールを作成する事にしました。
困りごと
MakeCode Arcadeではキャラクターなどの絵はドットで作られています。
そして、このドット絵を作成するためのイメージエディターが準備されています。
最近でもこのイメージエディタが更新され、使い勝手が良くなってきています。(回転や反転は画期的でした)
それでも僕がやりたかった拡大機能は追加されていませんでした。
解決の糸口
上記更新によりコピー機能がクリップボードを介して行える事が分かったのでもしかしたらこのクリップボードを使う事で拡大する機能を別で作れるのでは?と考えました。
まずは単純にクリップボードにコピーされた内容をメモ帳で貼り付けたところ、単純な解読可能な文字列が貼り付けられました。

解読可能な文字列であれば文字列操作をする事でMakeCode Arcade外でイメージ編集が可能では?と思いました。
ExcelVBAマクロでツールを作る
イメージが解読可能な文字列だと分かったのでこの文字列を編集できればどんな方法でも良いので僕の得意なExcelVBAマクロでツールを作る事にしました。
ExcelVBAマクロであればセルのサイズ変更する事でイメージエディタっぽい表現も出来るので最適ではないかと思います。
いきなり完成品紹介
いきなりですが完成品を紹介します。
構成は3つのシートになっています。
- 入出力シート
- 変換前シート
- 変換後シート
入出力シートでは変換前のイメージ貼り付けと倍率の変更を行い、変換後の情報をコピーする事ができます。

変換前シートでは入出力シートの変換前に貼り付けたイメージの内容をドット絵で表現します。

変換後シートでは倍率変換後のイメージの内容をドット絵で表現します。

変換前シート、変換後シートともに「.」または1~9、a~fの16種類に色が設定されていますのでセルの値を変更するとそれに合わせてセルの背景色も変更するようになっています。(ただし入出力シートへの反映は行っていない)
まとめ
というわけでMakeCode Arcadeのイメージを拡大するツールを紹介しました。
本来なら中身についても紹介しようと思ったのですがずいぶん長くなりそうだったので今回はツールの表面的な部分のみ紹介しました。
次回記事にてツールの詳しい内容を紹介していこうと思います。
(追記)詳しい紹介を記事にしましたので詳細はこちらへどうぞ。
コメント