首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocos2d-x平滑绘图

Cocos2d-x平滑绘图
EN

Stack Overflow用户
提问于 2014-10-28 01:21:35
回答 2查看 994关注 0票数 0

我正在开发手绘游戏,绘图不是很流畅,我用了下面的代码:

代码语言:javascript
复制
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

请帮我画得流畅些。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-02-09 15:32:49

正如纳达里安所说,你不应该在每次绘制雪碧图时都创建一个新的雪碧图。即使你不能重用相同的精灵,你也可以从相同的SpriteFrame创建精灵。

首先,您需要将SpriteFrame存储在某个变量上。或者,如果您愿意,也可以使用SpriteFrameCache。我将展示使用SpriteFrame的代码。

代码语言:javascript
复制
// create sprite
auto sprite = cocos2d::Sprite::create("brush3.png");
// get spriteframe from sprite
auto spriteframe = sprite->getSpriteFrame();

Canvas::drawEvenlySpacedSprites上,从存储的spriteframe创建精灵。

以下是示例,更改此代码

代码语言:javascript
复制
Sprite * sprite = Sprite::create("brush3.png");

对于这段代码,

代码语言:javascript
复制
Sprite * sprite = Sprite::createWithSpriteFrame(spriteframe);
票数 0
EN

Stack Overflow用户

发布于 2015-05-27 21:17:59

我找到了这个实现,希望它能对您有所帮助:http://build-failed.blogspot.it/2012/08/freehand-drawing-with-cocos2d-x-and.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26593159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档