cocos2d-x 4.0 Le chemin de l'apprentissage (12) Mouvement complexe (courbe de Bézier-Bézier)

Apprenons quelques sports plus compliqués aujourd'hui.

Par exemple, si nous voulons sortir d'un mouvement courbe lisse, nous pouvons utiliser BezierTo et BezierBy.

Ce Bézier est une courbe de Bézier, vous pouvez rechercher des connaissances de base.

ccBezierConfig a 3 paramètres,

Vec2 controlPoint_1: point courbe 1 (point courbe 1)
Vec2 controlPoint_2: point courbe 2 (point courbe 2)
Vec2 endPosition: position finale

Que signifient les points de courbe 1 et 2? Regardez le diagramme explicatif de l'Encyclopédie Baidu pour comprendre.

Si vous voulez toujours comprendre en profondeur pourquoi cette courbe est si courbe, alors étudiez-la attentivement. Calcul de la formule de la courbe de Bézier (je ne comprends pas)

J'ai testé deux cas, les coordonnées de début et de fin sont identiques, respectivement (200, 400), (600, 400). Mais les deux points de la courbe sont différents, nous pouvons regarder l'effet.

Testez le code et l'effet pour la première fois:

    auto sprite1 = Sprite::create("s1.png");
    sprite1->setPosition(Vec2(200, 400));
    this->addChild(sprite1);    

    ccBezierConfig bz;
    bz.controlPoint_1 = Vec2(300, 500);
    bz.controlPoint_2 = Vec2(500, 300);
    bz.endPosition = Vec2(600, 400);
    auto move = BezierTo::create(3, bz);

Le deuxième code et effet de test:

    auto sprite1 = Sprite::create("s1.png");
    sprite1->setPosition(Vec2(200, 400));
    this->addChild(sprite1);    

    ccBezierConfig bz;
    bz.controlPoint_1 = Vec2(200, 600);
    bz.controlPoint_2 = Vec2(600, 200);
    bz.endPosition = Vec2(600, 400);
    auto move = BezierTo::create(3, bz);

Ce qui précède est BezierTo, l'effet de BezierBy est complètement différent, car BezierBy se déplace en fonction de la position actuelle du sprite. Je ne donnerai pas d'exemple.

 

 

A publié 104 articles originaux · Like8 · Plus de 210 000 visiteurs

Je suppose que tu aimes

Origine blog.csdn.net/sunnyboychina/article/details/105268585
conseillé
Classement