【问题标题】:Rotate sprite according to onMouseMove cocos2d-x根据 onMouseMove 旋转精灵 cocos2d-x
【发布时间】:2019-04-06 12:55:41
【问题描述】:

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

【问题讨论】:

    标签: cocos2d-x


    【解决方案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);
    }
    

    我不明白你所说的“所以我的精灵可以旋转我的头”是什么意思,但这是旋转精灵的方式,所以将它应用于你需要的任何精灵。

    希望对您有所帮助! :D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多