Sprite, LabelのアンチエイリアスをOFFにする

Cocos2d-x3 3.x系でアンチエイリアスをON/OFFにする方法です。

ラベルのテキストのアンチエイリアス指定方法が途中で変わっていたので、priteとLabel両方の指定方法まとめてみました。

Spriteの場合

こちらは、結構昔から変わっていません。

auto sp = Sprite::create("pic.png");

// アンチエイリアスをOFF
sp->getTexture()->setAliasTexParameters();

// アンチエイリアスをON
sp->getTexture()->setAntiAliasTexParameters();

ラベルの場合

getTexture()は3.xでなくなったのかな?メンバーが存在しないため代わりに、getFontAtlas()を使用します。

auto label = Label::createWithTTF("メッセージ", "font.ttf", 24);

// アンチエイリアスをOFF
label->getFontAtlas()->setAliasTexParameters();

// アンチエイリアスをON
label->getFontAtlas()->setAntiAliasTexParameters();


// これは関数が存在しないためもうできません。
label->getTexture();

こちらがアンチエイリアスONのにドット絵を2倍に引き伸ばしたときの表示です。モヤァ~っとしてますね。インターフェースの説明だとバイリニアで拡大だそうです。

f:id:Takachan:20170809013134p:plain

こちらがOFFのときの表示です。ニアレストネイバーで拡大とのこと。

f:id:Takachan:20170809013203p:plain