Я работаю над игрой, основанной на 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();
}
Других решений пока нет …