我開發徒手繪製的遊戲,圖形不是很順利,我用這個代碼:的Cocos2D-X平滑的描畫
void Canvas::onTouchMoved(cocos2d::Touch *touch, cocos2d::Event *event) {
Canvas::drawEvenlySpacedSprites(touch->getLocation(),touch->getPreviousLocation());
}
void Canvas::drawEvenlySpacedSprites(Vec2 start, Vec2 end) {
// begin drawing to the render texture
_target->begin();
float distance = start.getDistance(end);
if (distance > 1) {
int d = (int)distance;
for (int i = 0; i < d; i++)
{
float difx = end.x - start.x;
float dify = end.y - start.y;
float delta = (float)i/distance;
Sprite * sprite = Sprite::create("brush3.png");
sprite->setColor(Color3B::BLUE);
sprite->setPosition(Vec2(start.x + (difx * delta), start.y + (dify * delta)));
sprite->visit();
}
}
// finish drawing and return context back to the screen
_target->end();
}
我用的cocos2d-x V3.3工作
請幫助我獲得平滑的描畫
感謝
第一所有你不應該創建一個新的雪碧,每次你畫。在某個init中創建一次,然後重新使用它。根據問題你使用一些設備來測試代碼或者你在模擬器上運行它? – Nadarian 2014-10-29 14:56:35
謝謝,我使用設備進行測試,並且在cocos2d-x v3中,如果您知道如何重新使用相同的精靈,請幫助我。 – user3895008 2014-10-30 06:03:31