bool THelloWorld::onTouchBegan(TTouch* touch, TEvent* event)
{
auto sprite = (TSprite*)(this->getChildByTag(1000));
static int nTempIdx = 0;
switch (nTempIdx++)
{
case 0: // 右转到90° 向右
{
sprite->runAction( TRotateTo::create(1, 90.0f));
} break;
case 1: // 左转到-90° 向左
{
sprite->runAction( TRotateTo::create(1, -90.0f));
} break;
case 2: // 回正 向上
{
sprite->runAction( TRotateTo::create(1, 0.0f) );
} break;
case 3: // 右转90° 向右
{
sprite->runAction( TRotateBy::create(1, 90.0f) );
} break;
case 4: // 右转180° 向左
{
sprite->runAction( TRotateBy::create(1, 180.0f) );
} break;
case 5: // 左转270° 绕回来
{
sprite->runAction( TRotateBy::create(1, -270.0f) );
} break;
case 6: // 右转1圈
{
sprite->runAction( TRotateBy::create(1, 360.0f) );
} break;
case 7: // 右转2圈
{
sprite->runAction( TRotateBy::create(1, 720.0f) );
} break;
default: // 回正
{
sprite->runAction( TRotateTo::create(1, 0.0f) );
nTempIdx = 0;
}
}
CCLOG("THelloWorld::onTouchBegan id = %d, x = %f, y = %f", touch->getID(), touch->getLocation().x, touch->getLocation().y);
return true;
}
从Delphi开始学Cocos2dx-3.0[10]:持续动作之旋转持续动作
最新推荐文章于 2018-06-20 21:11:51 发布
本文详细介绍了如何使用Cocos2dX引擎在游戏开发中实现物体的旋转动画,包括从0°到90°的右转、从90°到-90°的左转、回正等常见动作,通过运行不同类型的旋转动作(RotateTo和RotateBy)来控制物体的角度变化。

1448

被折叠的 条评论
为什么被折叠?



