ページ 11

drawCharacterの2倍表示について(解決済み)

Posted: 2016年5月14日(土) 22:53
by まひる
セーブなどのアクター画像を2倍表示させたくて以下のように再定義したのですが
アンチエイリアスの効いたボケた感じになってしまいます。
Window_Base.prototype.drawCharacter = function(characterName, characterIndex, x, y) {
var bitmap = ImageManager.loadCharacter(characterName);
var big = ImageManager.isBigCharacter(characterName);
var pw = bitmap.width / (big ? 3 : 12);
var ph = bitmap.height / (big ? 4 : 8);
var n = characterIndex;
var sx = (n % 4 * 3 + 1) * pw;
var sy = (Math.floor(n / 4) * 4) * ph;
var dw = 2;
this.contents.blt(bitmap, sx, sy, pw, ph, x - pw / 2, y - ph, pw*dw, ph*dw);
};

アンチエリアスを無効化して2倍表示する方法はないでしょうか?

Re: drawCharacterの2倍表示について

Posted: 2016年5月14日(土) 23:28
by 奏ねこま
bltの直前で

this.contents._context.webkitImageSmoothingEnabled = false;

とやるとできるっぽいです(私もにわか知識なので)。
デフォルトはtrueなので、blt後に戻しておいたほうが良いかも知れません。

Re: drawCharacterの2倍表示について

Posted: 2016年5月15日(日) 01:23
by まひる
いつもありがとうございます。
試してみたところ思い通りの動作ができました。
ありがとうございました。