Как нарисовать произвольную кривую в cocos2dx

Я работаю над игрой, основанной на cocos2dx, теперь мне нужно нарисовать произвольную кривую, когда палец движется по экрану, и тогда кривая станет траекторией, по которой идет мой герой. Любая идея будет оценена.

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();
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]