【问题标题】:How to draw an arbitrary curve in cocos2dxcocos2dx中如何绘制任意曲线
【发布时间】:2013-12-06 02:17:15
【问题描述】:

我正在开发基于 cocos2dx 的游戏,现在我需要在手指在屏幕上移动时绘制任意曲线,然后曲线将成为我的英雄行走的路径。任何想法将不胜感激。

【问题讨论】:

    标签: c++ cocos2d-x curve


    【解决方案1】:

    曲线是连接线。
    因此您可以使用连接线绘制曲线。

    cctouchesmove/cctouchemove事件函数中累积积分。
    制作线条精灵,添加并绘制它们。

    cocos2d-x 也有曲线类。 如果您使用它们,您可以轻松运行操作。

    CCCardinalSplineTo
    CCCardinalSplineBy
    CCCatmullRomTo
    CCCatmullRomBy
    CCBezierBy
    CCBezierTo
    

    对于绘图,这是示例代码。

    void HelloWorld::draw()  
    {  
        // move to 50,50 since the "by" path will start at 50,50  
        kmGLPushMatrix();
        kmGLTranslatef(50, 50, 0);
        ccDrawCardinalSpline(m_pArray, 7, 100);
    
        kmGLPopMatrix();
    
        CCSize s = CCDirector::sharedDirector()->getWinSize();  
    
        kmGLPushMatrix();  
        kmGLTranslatef(s.width/2, 50, 0);  
        ccDrawCardinalSpline(m_pArray, 1, 100);  
        kmGLPopMatrix();  
    }  
    

    【讨论】:

    • 谢谢。我现在可以用 ccDrawCardinalSpline 绘制曲线,但我还需要在曲线路径上添加一些纹理,比如草的路径等。我找不到解决方案。
    • 曲线纹理是一个有点复杂的问题。我相信这个参考会对你有所帮助。 raywenderlich.com/32954/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2014-09-20
    • 2011-03-10
    相关资源
    最近更新 更多