想要在 cocos2d 3.9 中绘制手指移动的示例代码吗?

Want sample code for drawing on finger movement in cocos2d 3.9?

我们如何在 cocos2d 3.9 中实现这一点并解释

virtual void draw(cocos2d::Renderer *renderer, const cocos2d::Mat4 &transform, uint32_t flags) override;

此方法中的参数是什么?提前致谢。

您可以在 "cpp test" 中找到好的样本,它默认在 cocos2d-x 文件夹中提供。 运行 cpp 测试中名称为 "RenderTextureTest" 的项目。

如果您想以最简单的方式绘制手指移动,请使用 cocos2d::RenderTexture,这是您可以在其中绘制的节点。

您的代码如下所示:

void TestScene::onTouchMoved(Touch * touch, Event* event)
{
    Vec2 start = touch->getLocation();
    Vec2 end   = touch->getPreviousLocation();

    // begin drawing to the render texture
    _renderTexture->begin();

    float distance = start.getDistance(end);
    if (distance > 1)
    {
        Sprite * brushSprite = Sprite::create("Images/fire.png");
        brushSprite->setColor(Color3B::RED);
        brushSprite->setOpacity(20);

        for (int i = 0; i < distance; i++)
        {
            float difx = end.x - start.x;
            float dify = end.y - start.y;
            float delta = (float)i / distance;
            brushSprite->setPosition(start.x + (difx * delta), start.y + (dify * delta));
            brushSprite->visit(); // Draw sprite to render texture
        }
    }

    // finish drawing and return context back to the screen
    _renderTexture->end();
}

对不起我的英语