从Delphi开始学Cocos2dx-3.0[10]:持续动作之旋转持续动作

本文详细介绍了如何使用Cocos2dX引擎在游戏开发中实现物体的旋转动画,包括从0°到90°的右转、从90°到-90°的左转、回正等常见动作,通过运行不同类型的旋转动作(RotateTo和RotateBy)来控制物体的角度变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值