我正在开发基于cocos2dx的游戏,现在我需要在手指在屏幕上移动时绘制任意曲线,然后曲线将成为我的英雄走过的路径。任何想法都将受到赞赏。
答案 0 :(得分:2)
曲线是连线。
所以你可以使用连线绘制曲线。
累积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();
}