cocos2dx3.2 spine动画

        NEWSkeletonAnimation* skeletonNode;
skeletonNode = NEWSkeletonAnimation::createWithFile("Maid.json", "Maid.atlas", 0.6f);

	skeletonNode->startListener = [this] (int trackIndex) {
		spTrackEntry* entry = spAnimationState_getCurrent(skeletonNode->state, trackIndex);
		const char* animationName = (entry && entry->animation) ? entry->animation->name : 0;
		log("%d start: %s", trackIndex, animationName);
	};
	skeletonNode->endListener = [=] (int trackIndex) {
		log("%d end", trackIndex);
		m_isSkeletonSiwtch = false;
	};
	skeletonNode->completeListener = [] (int trackIndex, int loopCount) {
		log("%d complete: %d", trackIndex, loopCount);
	};
	skeletonNode->eventListener = [] (int trackIndex, spEvent* event) {
		log("%d event: %s, %d, %f, %s", trackIndex, event->data->name, event->intValue, event->floatValue, event->stringValue);
	};

	skeletonNode->setPosition(100, 100);
	this->addChild(skeletonNode);
	//skeletonNode->setAnimation(0, "Event", false);
时间: 2024-11-10 13:22:23

cocos2dx3.2 spine动画的相关文章

关于unity中spine动画切换时有残影或者动画播放不正确的解决方法

问题描述: 最近在用spine动画时发现,有时候角色在切换动画的时候会有残影,或者动画播放不正确,例如会丢失一部分节点,例如切换动画后角色虽然动画播放正常,但丢失了武器. 解决办法: 在unity编辑器下找到spine动画的SkeletonData文件,在Animationgs下面有一个"Setup Pos",这个按钮可以将骨骼(bones).资源槽(slots)或两者重置为装配动作(setup pose).它与调用`setBonesToSetupPose` 或 `setSlotsTo

Spine动画在Cocos2d-x中,多动画切换播放出现残影的解决方法

最近在做的一个项目,NPC的动画是用Spine来做的.游戏中随着不同的状态变化,会导致NPC在"待机"."准备进攻"."进攻"."眩晕"."死亡"等等多种状态之间来回切换,NPC每切换一种状态,随之就要立刻播放该状态对应的动画. 游戏中播放spine动画是用SkeletonAnimation对象调用setAnimation方法,我遇到的问题是,在多种动画这样切换播放时,有的动画被切换后仍有残影存留,直到再一

unity 在代码中创建spine动画组件

项目中用到了spine动画,使用Assetbundle打包后,在手机上运行会出现丢材质的情况.如果不进行打包,直接放到Resources目录下是可以正常加载的,但是,这样包就会很大,而且也不能进行热更新.进过测试,发现在代码中创建spine组件是可以解决这个问题,于是就有了下面的方案. 我们先说方案,再说问题. 方案: spine动画制作人员提供的spine动画三个文件分别是.json,.atlas,.png,把这三个文件放到unity(我用的unity版本是5.3.4f1)中,会自动生成atl

Unity Spine 动画模糊问题解决办法

1.在项目开发中有时候我们会使用到美工给我们制作的Spine动画,在这里呢我就不先介绍如何使用Spine动画在unity,而是先写关于解决我在项目中遇到的问题,也就是Unity播放Spine动画模糊问题. 2.对于解决图片已经动画模糊问题,我们一般都是选择查看我们的资源图片是否超过了 我们的最大值以及图片的格式化是否为压缩,这些都有可能导致我们的图片模糊以至于播放发动画也会模糊. 3.另一个解决办法是对unity项目进行设置,打开你的项目工程,在菜单栏选择编辑 之后会看到一个项目设置, 选择项目

使用lua实现Spine动画的预加载

创建spine动画有两种方法,分别是createwithfile和createwithdata. createWithFile是通过加载动作数据马上进行创建,如果spine动画中的json文件大小超过100k时,会出现卡顿现象,如果动画文件偏小,可以使用这个方法来创建动画. createWithData是通过预加载,保存动画数据在spSkeletonData中,然后通过实现创建动画,这个方法可以使用在spine动画偏大的情况下使用. cocos2dx 自带的LuaSkeletonAnimatio

Spine学习二 -播放Spine动画

要想播放一个Spine动画,必须要在一个物体上绑定一个Spine播放的组件,这里暂时使用SkeletonAnimation组件. 然后就是编写动画的控制脚本. 这里提一个特性: [SpineAnimation]:这个特性可以获取到SkeletonAnimation组件中绑定的 Spine资源的所有 动作名字, [SpineAnimation] public string runAnimationName; 其次,官方说了一个注意点,那就是最好不要在 Start()之前使用 AnimationSt

动态修改spine动画渲染层次

在unity中做2D游戏开发的时候我们使用sprite比较多,sprite的层次修改我们手动修改sprite renderer下面的Order in Layer属性就行了.也可以动态的获取它的层次属性进行修改,那么怎么动态修改spine动画的层次呢,如下:   我们创建spine动画的时候,在这个物体上会有一个Mesh Renderer的组件.我们通过他来改变Skeleton Animation中的Order in Layer的值.--------------------- void Start

spine动画融合与动画叠加

一.动画融合setMix 1.概述:两个动作之间的平滑过渡 参数duration为需要多少时间从fromAnimation过渡到toAnimation,过渡时间为动画重叠时间. 下图为动作切换时的情况(setAnimation),左红线为切换动作时刻,两个红线之间为动作切换时间,这之间动画播放为A与B的混合,A和B所占的权重是不断变化的,从A占的权重从100到0,B占的权重从0到100.右红线之后为动作B完全播放. 图1 下图是A动作后有B动作的情况(addAnimation) 图2 下图为错误

Spine学习五- spine动画融合

在许多地方,都需要用到动画融合,unity的新版动画系统已经能够很方便的进行动画融合,那么使用spine的动画状态机的情况下,如何来进行动画融合呢? 官方有两种方案,一种是使用混合动作实现,另一种是使用spine的动画状态机实现,这里讲解一下状态机的实现: 1 public class cartoonCombine : MonoBehaviour { 2 3 SkeletonAnimation skeletonAnimation; 4 AnimationStateData stateData;