Повернуть спрайт в соответствии с OnMouseMove cocos2d-x

#cocos2d-x

#cocos2d-x

Вопрос:

изображение

 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:

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

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

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

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