切换动作的时候
两个动作用不同的表情贴图
动作变了,贴图没有变过来
cocos2dx3.4、spine最新版本
用cocos2dx的demo里的资源是ok的
spine的演示资源就有问题
有人碰到过吗?
额,楼主能讲清楚点吗?或者扔个重现的Demo上来。
我的代码:
auto skeletonNode = SkeletonAnimation::createWithFile(resData->resPath1, resData->resPath2);
skeletonNode->setAnimation(0, “wait”, true);
skeletonNode->addAnimation(0, “attack”, false);
skeletonNode->addAnimation(0, “wait”, true);
"wait"动作和"attack"动作的脸部用不同的表情贴图
结果播放"attack"动作后
继续循环播放"wait“动作
脸部表情还是’attack"动作的贴图
贴出演示代码了
版主大人帮忙看看,谢啦
资源使用spine官方演示资源
这样真的可以吗- -!只看到设置动作,贴图的改变在哪里?还是我孤陋寡闻…

最好还是扔个Demo给我吧
我是参考cocos2dx demo里的代码
看demo的效果
动作改变以后,动作使用的贴图也会一起改变
资源在附件,我把demo资源和我们自己做的资源都打包了
分别使用init里的两段代码就可以了
版主可以对比一下效果
我们做的动画,动作正常,但是表情没有切换过来
demo的不会有这种情况
我的代码,放到layer 的init () 函数里就可以了:
bool SpineTestLayerNormal::init () {
if (!Layer::init()) return false;
// cocos demo里的spine骨骼动画
//skeletonNode = SkeletonAnimation::createWithFile("spine/spineboy.json", "spine/spineboy.atlas", 0.6f);
//skeletonNode->setScale(0.5);
//skeletonNode->setAnimation(0, "walk", true);
//skeletonNode->addAnimation(0, "run", false);
//skeletonNode->addAnimation(0, "walk", true);
//Size windowSize = Director::getInstance()->getWinSize();
//skeletonNode->setPosition(Vec2(windowSize.width / 2, 20));
//我们自己用sipne做骨骼动画
skeletonNode = SkeletonAnimation::createWithFile("spine/major.json", "spine/major.atlas");
skeletonNode->setScale(2);
skeletonNode->setTimeScale(0.3);
skeletonNode->setAnimation(0, "wait", true);
skeletonNode->addAnimation(0, "collide", false);
skeletonNode->addAnimation(0, "wait", true);
Size windowSize = Director::getInstance()->getWinSize();
skeletonNode->setPosition(Vec2(windowSize.width / 2, 200));
addChild(skeletonNode);
return true;
}
你用的studio做得骨骼动画吗?如果是Studio做的,那么Studio的版本是否是对应的引擎版本?
骨骼动画用spine做的
sipne 版本 2.1.18
cocos2dx 版本 3.4 Final
是运行库的问题吗?
不知道3.4用的是什么版本运行库?
试了下,我在Mac下是正常的…这应该是你要的效果吧…
眼睛变大是"collide"动作
但是从"collide"动作变回"wait"动作眼睛应该要变回小眼睛才对
demo的spineboy嘴巴张开后会变回来
会变回来…然后我把那句变回来的注释掉截图的…
为什么我变回"wait"以后眼睛没有变小
版主用的cocos2dx什么版本的
我在windows下试的,应该没影响吧
我是3.4Final的…在不同平台下测是有影响的,你换真机测试下吧。不行的话晚上我回去用Win再测试下
编译安卓版本情况还是一样,纠结。。。
麻烦版主大人再看看
晕了= =!这回既然不正常了,难道早上眼花了?…我再看看吧

麻烦版主了,求解决
应该是那部分动作有问题,你把代码换成这个就可以了
skeletonNode->setAnimation(0, “collide”, true);
skeletonNode->addAnimation(0, “attack”, false);
skeletonNode->addAnimation(0, “collide”, true);
如果楼主找到原因的话,麻烦上来贴下。给后面遇到同样坑的一个方向

问题找到了,确实是动作的问题
wait动作美术没K帧
感谢版主帮忙找到原因
动画文件的问题,我之前也遇到过,我的情况是那个spineboy 从走路变为射击动作的时候,枪没有恢复正确的位置,原因也是射击动作没有K帧