简单骨骼动画编写

本文演示如何在程序中创建骨骼动画并实现异步加载数据,通过使用逐个加载不同动画文件的方式,确保动画流畅播放。同时,文章介绍了在加载完成后,如何根据进度更新UI元素和启用交互功能,最终成功展示完整的动画效果。

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

做个小骨骼动画demo给大家试试先。

设置一个加载的label

	CCLabelTTF *l = CCLabelTTF::create("0.0", "Arial", 50);
	l->setColor(ccColor3B(ccBLUE));
	addChild(l, 1, 10001);
	l->setPosition( CCPoint(visibleSize.width/2, visibleSize.height - 60) );
异步骨骼动画数据加载

	//自己的骨骼动画
	CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/BZ.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
	CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/JuRen.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
	CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/3.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
	CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/JR.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
    
编写回调函数

void HelloWorld::dataLoaded( float percent )
{
	CCLabelTTF *label = (CCLabelTTF *)getChildByTag(10001);
	if (label)
	{
		char pszPercent[255];
		sprintf(pszPercent, "%s %f","W_W", percent * 100);
		label->setString(pszPercent);
	}

	if (percent >= 1 && backItem&& nextItem)
	{
		backItem->setEnabled(true);
		nextItem->setEnabled(true);
	}
}
等回调完后就可以调用产生骨骼动画了

如下

		CCArmature *armature = NULL;
		armature = CCArmature::create("JuRen");
		armature->getAnimation()->playByIndex(1);
		armature->setPosition(CCPoint(300, 300));
		addChild(armature);
这样就成功能看到骨骼动画了
祝你也能成功



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值