|
|
||
1つの画像を32x32のチップに分割してそれをぺたぺた貼るコードを使っていて, なぜか両端が変になる問題に悩まされてた.
id:nano_001さんにオフで戴いたアドバイス"1引かないとだめだったような。。。"を確認しようと描画してるとこを覗いてみた.
if (chip > 0) { chipX = 1 + (int)((chip & 15) * 32); // 下位ビットだけ取り出して32倍 chipY = 1 + (int)(chip / 16) * 32; // 上位4ビットだけ取り出して32倍 this->setRect(chipX, chipY, 32, 32); this->setBasePoint((float)(i * 32 + del_x), (float)(j * 32 + del_y), 1.0f); this->drawRect(this->baseTexture); }
setRectメソッドで転送元のどこを抜き出すか指定する.
あれ, leftとtopをあらわすchipXとchipYに1足してある・・・?