从Delphi开始学Cocos2dx-3.0[11]:持续动作之组合动作

bool THelloWorld::onTouchBegan(TTouch* touch, TEvent* event)
{
	auto sprite =  (TSprite*)(this->getChildByTag(1000));  
	static int nTempIdx = 0;

	switch (nTempIdx++)
	{
	case 0: // 绕个圈圈回原地
		{
			sprite->runAction(
				TSequence::create(
					TMoveBy::create(0.5, TPoint(150.0f, 0.0f)),	// 向右移动
					TMoveBy::create(1, TPoint(0.0f, -150.0f)),	// 向下移动
					TMoveBy::create(1, TPoint(-300.0f, 0.0f)),  // 向左移动
					TMoveBy::create(1, TPoint(0.0f, 300.0f)),	// 向上移动
					TMoveBy::create(1, TPoint(300.0f, 0.0f)),	// 向右移动
					TMoveBy::create(1, TPoint(0.0f, -150.0f)),	// 向下移动
					TMoveTo::create(0.5, g_ClientMidPoint),       // 然后回到中心点
					NULL)
				);
		} break;
	case 1 : // 移动到目标 变形后回归
		{
			sprite->runAction(
				TSequence::create(
				TMoveTo::create(1, touch->getLocation()),	// 移动到指定位置
				TScaleBy::create(1, 1.5f, 1.5f),			// 放大
				TScaleTo::create(1, 1.0f, 1.0f),			// 缩小
				TMoveTo::create(1, g_ClientMidPoint),       // 然后回到中心点
				NULL)
				);
		} break;
	case 2: // 边移动,边变形
		{
			sprite->runAction(
				TSpawn::create(
				TMoveTo::create(1, touch->getLocation()),	// 移动到指定位置
				TScaleBy::create(1, 1.5f, 1.5f),			// 放大
				NULL)
				);
		} break;
	case 3: // 边移动,边变形
		{
			sprite->runAction(
				TSpawn::create(
				TScaleTo::create(1, 1.0f, 1.0f),			// 缩小
				TMoveTo::create(1, g_ClientMidPoint),       // 然后回到中心点
				NULL)
				);
		} break;
	case 4: // 2 3 合起来
		{
			sprite->runAction(
				TSequence::create(
					TSpawn::create(
						TMoveTo::create(1, touch->getLocation()),	// 移动到指定位置
						TScaleBy::create(1, 1.5f, 1.5f),			// 放大
						NULL),
					TSpawn::create(
						TScaleTo::create(1, 1.0f, 1.0f),			// 缩小
						TMoveTo::create(1, g_ClientMidPoint),       // 然后回到中心点
						NULL),
					NULL)
				);
		} break;
	default: 
		{
			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、付费专栏及课程。

余额充值