Поворот спрайта в соответствии с onMouseMove cocos2d-x - PullRequest
0 голосов
/ 06 апреля 2019

img

auto spr= Sprite::create("spr.png");
spr->setPosition(Vec2(500, 500);
spr->setScale(0.2);
layer->addChild(gun, 1);

Что мне нужно сделать, чтобы мой спрайт мог вращать головой в соответствии с положением мыши

void HelloWorld::onMouseMove(Event *event)
{   
   EventMouse* e = (EventMouse*)event;
   (................)
}

1:

1 Ответ

0 голосов
/ 24 апреля 2019

Я думаю, это то, что вы пытаетесь сделать:

const float PI = 3.1415;

void HelloWorld::onMouseMove(Event *event)
{    
    float dx = evnt->getCursorX() - spr->getPosition().x;
    float dy = evnt->getCursorY() - spr->getPosition().y;

    float rotation = (atan2(dx, dy)) * 180 / PI;

    spr->setRotation(rotation);
}

Я не понимаю, что вы имеете в виду, "чтобы мой спрайт мог вращать мою голову", но это способ вращать спрайт, поэтому примените его к любому спрайту, который вам нужен.

Надеюсь, это поможет! : D

...