2018/02/18(日) [n年前の日記]
#1 [dxruby] DXOpalでタイルマップBG描画その2
昨日、DXOpalで試したタイルマップBGの描画は、処理が重くて10FPSも出なかったのだけど。16x16ドットのタイルチップじゃなくて、64x64ドットのタイルチップを使ったらどうなるかなと疑問が湧いたので試してみたり。
_ DXOpal fake draw_tile 3 (chip : 64x64 ver.)
手元の環境では、60FPSが出てくれた。
ということで、タイルチップ1枚あたりのサイズを大きくして、描画枚数・描画個数を減らせば、まだどうにかなるっぽい。もっとも、非力なPC + ブラウザ上では、どんな結果になるのか分からんけど…。
利用・作成した Tiled のマップデータは以下。License : CC0 / Public Domain ってことで。
_scifi_bg.tmx
_scifi_bg_chip.png
_scifi_bg.json
ちなみに、背景色を変更することで、BG内の一部が点滅表示してるように見せかける処理も入れてみたり。
_ DXOpal fake draw_tile 3 (chip : 64x64 ver.)
手元の環境では、60FPSが出てくれた。
ということで、タイルチップ1枚あたりのサイズを大きくして、描画枚数・描画個数を減らせば、まだどうにかなるっぽい。もっとも、非力なPC + ブラウザ上では、どんな結果になるのか分からんけど…。
利用・作成した Tiled のマップデータは以下。License : CC0 / Public Domain ってことで。
_scifi_bg.tmx
_scifi_bg_chip.png
_scifi_bg.json
ちなみに、背景色を変更することで、BG内の一部が点滅表示してるように見せかける処理も入れてみたり。
◎ 色指定時に与える数値の範囲について。 :
背景色の、Window.bgcolor = [R, G, B} を指定した際に気づいたのだけど、実数を与える場合と、整数を与える場合で、範囲が変わるようだなと。
ちなみに Ruby の場合、数値が入った変数.to_i とすれば整数に変換できる…はず。
- R, G, B が実数なら、与える範囲は 0.0 - 1.0
- R, G, B が整数なら、与える範囲は 0 - 255
ちなみに Ruby の場合、数値が入った変数.to_i とすれば整数に変換できる…はず。
bgcol = 255 * (Math.sin(count * Math::PI / 180.0)).abs # 実数 Window.bgcolor = [bgcol.to_i, 0, 0] # 整数に変換して背景色を指定
[ ツッコむ ]
以上です。