SGDK学習メモ:No.2、画像ファイル関連備忘録
*以下SGDKは記述時点で最新版のSGDK 1.70 (february 2022)を使用しています
SGDK学習の際のメモです。
resources.resの記述について(SGDKに添付されているファイルを読もうという話)
SGDKで使用する画像ファイルは今のところ
res/resources.res
に記述していますが、仕様をちゃんと把握せずにチュートリアルの内容をそのまま書いていました。
今回スクロールの学習の一環としてSGDKに含まれる
res/font_default.png
を一部修正して背景データとして表示しようしました。が、意図したとおりに表示されません。デバッガで見ると一部データが欠落しているようです。
これはresources.resに
IMAGE fontimage "tiles/font_image.png" -1
という記述をしていたせいでした。
SGDKにはbin/rescomp.txtというファイルが存在し、これを読んで理由がわかりました。
今回の場合、自分の意図した通りに動かすためには
IMAGE fontimage "tiles/font_image.png" -1 0
とmapoptに0またはNONEを指定する必要がありました。
mapoptはデフォルトだと1/ALLで、重複しているとみなされたデータ(find duplicated and flipped tile)が排除されます。今回だと、例えば▶は◀のflippedとみなされていました。
修正後font_default.png(を一部修正したデータ)はすべて表示されるようになりました。
ついでにABCボタン押下でスクロールする文字の色=パレットを書き換えできるようにしてみました。
余談ですがこの↑アニメーションgifはKega FusionのLog AVI File機能で録画→FFmpegでフレームレートを30にしてgif化したものです(ffmpeg -i in.avi -r 30 out.gif)。
【了】