gpt4 book ai didi

c++ - 如何同时旋转和平移我的 Sprite ? cocos2dx 3.2

转载 作者:行者123 更新时间:2023-11-28 06:43:00 27 4
gpt4 key购买 nike

我尝试在 Sprite 的更新方法中执行RotateBy。它只是翻译。而且不旋转。谁能告诉我该怎么做?谢谢。

void CBall::Update(float dt)
{
this->Start();
auto action = RotateBy::create(dt,10);
this->runAction(action);
}

void CBall::Start()
{


float currentX = getPositionX();
float distance = currentX + xOffset;
float time = distance / _speedX;



Vec2 destination = Vec2(distance,this->getPositionY());
auto actionMove = MoveTo::create(time,destination);
this->runAction(actionMove);

if(currentX > _screenWidth)
{
ReachedEndOfScreen();
}


}

最佳答案

实际上你需要使用 Spawn action它将同时运行许多操作。

这是修改后的更新函数:

void CBall::Update(float dt)
{

float currentX = getPositionX();
float distance = currentX + xOffset;
float time = distance / _speedX;



Vec2 destination = Vec2(distance,this->getPositionY());
auto actionMove = MoveTo::create(time,destination);

if(currentX > _screenWidth)
{
ReachedEndOfScreen();
}
auto actionRotate = RotateBy::create(dt,10);
this->runAction(Spawn::create(actionMove, actionRotate, nullptr));
}

我内联了 Start() 成员函数,您可能会考虑在组合函数中重新组织 Update 实现 ;-)

关于c++ - 如何同时旋转和平移我的 Sprite ? cocos2dx 3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25585137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com