【发布时间】:2013-12-06 02:17:15
【问题描述】:
我正在开发基于 cocos2dx 的游戏,现在我需要在手指在屏幕上移动时绘制任意曲线,然后曲线将成为我的英雄行走的路径。任何想法将不胜感激。
【问题讨论】:
我正在开发基于 cocos2dx 的游戏,现在我需要在手指在屏幕上移动时绘制任意曲线,然后曲线将成为我的英雄行走的路径。任何想法将不胜感激。
【问题讨论】:
曲线是连接线。
因此您可以使用连接线绘制曲线。
在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();
}
【讨论】: