按照flash6.0的要求制作flash,转入cocoStudio1.6再导出到给项目2.2.4使用
对骨骼动画进行监听帧事件,切换动作的时候会发生错位,而且仅仅是第一帧的时候错位
就是所有骨骼在一个点上, 然后下一帧后就慢慢移动到骨骼编辑器上的位置(复位),
看了论坛很多例子都不行,
麻烦版主大人帮忙看下
我加上工程项目
按照flash6.0的要求制作flash,转入cocoStudio1.6再导出到给项目2.2.4使用
对骨骼动画进行监听帧事件,切换动作的时候会发生错位,而且仅仅是第一帧的时候错位
就是所有骨骼在一个点上, 然后下一帧后就慢慢移动到骨骼编辑器上的位置(复位),
看了论坛很多例子都不行,
麻烦版主大人帮忙看下
我加上工程项目
项目48MB不会上传。。。。加我QQ 386351746可以发你
编辑器里边不错位,只在切换动画的时候错位吗。
是不是切换动画的时候给了切换的动画的过渡时间?
给我你播放动画的函数我看看
armature->getAnimation()->play(“wait”, -1,-1,1, TWEEN_EASING_MAX);
参数是这样的
char ziYuanName;
sprintf(ziYuanName, "kp%d_",115);
//载入动画文件
char file1 = {0};
sprintf(file1, "%s0.png",ziYuanName);
char file2 = {0};
sprintf(file2, "%s0.plist",ziYuanName);
char file3 = {0};
sprintf(file3, "%s.ExportJson",ziYuanName);
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo(file1,file2, file3);
armature = CCArmature::create(ziYuanName);
armature->retain();
armature->setPosition(ccp(200, 200));
this->addChild(armature);
//
armature->getAnimation()->play(“wait”, -1,-1,1, TWEEN_EASING_MAX);
// armature->getAnimation()->setMovementEventCallFunc(this, SEL_MovementEventCallFunc(&HelloWorld::startDaiJi));
armature->getAnimation()->setFrameEventCallFunc(this, frameEvent_selector(HelloWorld::onFrameEventCallback));
return true;
void HelloWorld::onFrameEventCallback(CCBone * bone , const char * evt, int originFrameIndex,int currentFrameIndex)
{
CCLOG(“originFrameIndex = %d”, originFrameIndex);
CCLOG(“currentFrameIndex = %d”,currentFrameIndex);
CCLOG(“evt = %s”,evt);
if( strcmp(evt,“attack_end”) == 0 )
{
armature->getAnimation()->play(“wait” ,-1,-1,1, TWEEN_EASING_MAX);
//armature->getAnimation()->playWithIndex(0);
}
if( strcmp(evt,“wait_end”) == 0 )
{
armature->getAnimation()->play(“attack” ,-1,-1,1, TWEEN_EASING_MAX);
}
}
没有把? 这里是设置帧事件, 监听到就马上切换 参数都是按照play默认来的设置
版主, 我加你QQ了,可以传给你看看。。 ccs和ccx的项目