question可能与之重复,
但我不知道如何在我的应用程序中应用此方法,以及在cocos2d-x中应使用哪种方法绘制Bezier曲线。我的应用程序应允许用户在触摸 Canvas 时绘制线条和曲线。我该如何实现?

最佳答案

在CCDrawPrimitives.cpp文件中。

您可以使用此方法。

ccDrawCubicBezier
ccDrawQuadBezier

-MyClass::draw() {
    glLineWidth(4.0f);
    ccPointSize(4);

    //Draw a blue quadratic bezier curve
    ccDrawColor4B(0, 0, 255, 255);
    ccDrawQuadBezier(ccp(90,0), ccp(200, 70), ccp(350,0), 12);

    //Draw cubic red bezier curve
    ccDrawColor4B(255, 0, 0, 255);
    ccDrawCubicBezier(ccp(100,100), ccp(300,150), ccp(250,50), ccp(350,100), 12);

    //Restore original values
    glLineWidth(1);
    ccDrawColor4B(255,255,255,255);
    ccPointSize(1);
}

每次移动触摸位置时,您都可能会调用ccTouchesMoved方法。
您可以使用方法和成员变量控制曲线形状。

关于c++ - 使用cocos2d-x绘制平滑的贝塞尔曲线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23410062/

10-11 16:30