巨大な画像のスプライトの表示
投稿者: cfm_ 投稿日:2016/01/26 12:22
RPGで、拡張画像を使って画面より大きなサイズの画像を表示しようとすると、自動的に縮小されてしまいます。
こちらを参照:拡張画像操作で分からないことが
試した結果、サイズは同じにできますが、どう表示しても解像度が落ちました。
1320*1284pxの画像を表示させると、このように画質が落ちます
テストのゲーム(ID,passともに0と入れると入れます)
http://rmake.jp/games/29317/limited_play
setSpriteRect()の代わりにこの関数を使えば、元の画像と同じサイズで描画ができます。
ツイート
こちらを参照:拡張画像操作で分からないことが
試した結果、サイズは同じにできますが、どう表示しても解像度が落ちました。
1320*1284pxの画像を表示させると、このように画質が落ちます
テストのゲーム(ID,passともに0と入れると入れます)
http://rmake.jp/games/29317/limited_play
setSpriteRect()の代わりにこの関数を使えば、元の画像と同じサイズで描画ができます。
#imgwは元画像の幅、imghは高さ。(w0,h0は切り抜く範囲) #あとの引数はsetSpriteRect()と同じです。 def setSpriteRect2(img,imgw,imgh,x0,y0,w0,h0,x1,y1,w1,h1) w2=imgw/512 h2=imgh/384 if w2<=1&&h2<=1 setSpriteRect(img,x0,y0,w0,h0,x1,y1,w1,h1) elsif w2>h2 setSpriteRect(img,x0/w2,y0/w2,w0/w2,h0/w2,x1,y1,w1*w2,h1*w2) else setSpriteRect(img,x0/h2,y0/h2,w0/h2,h0/h2,x1,y1,w1*h2,h1*h2) end end
コメントする
コメントするには、ログインする必要があります。
上のようにw0、h0もw2やh2で割るとうまくいったのですがどうでしょうか?
お手すきで確認お願いします(_ _)
書いてから時間がたちすぎてちょっと自信がないですが、修正しておきました。
なお今みたら、w2とh2が1未満のとき逆に拡大されちゃうじゃんって思ったので、条件分岐を足しておきました。
更新版のおかげで問題なく動きました(^ω^っ)3