博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何给spine骨骼动画挂载粒子特效
阅读量:5299 次
发布时间:2019-06-14

本文共 1569 字,大约阅读时间需要 5 分钟。

目的是要把粒子挂载到骨骼动画的某个一个部件上,其实最主要是找对位置。

预览效果,左手红火,右手蓝火,很炫吧:)

//init

bool HelloWorld::init(){    //    // 1. super init first    if ( !Layer::init() )    {        return false;    }    CCSkeletonAnimation* skeletonNode = CCSkeletonAnimation::createWithFile("spineboy.json", "spineboy.atlas");    skeletonNode->setAnimation("walk", true);    skeletonNode->setPosition(ccp(300,0));    //skeletonNode->debugSlots = true;    skeletonNode->debugBones = true;    skeletonNode->timeScale = 0.5f;    addChild(skeletonNode,0,1);        ParticleSun* _emitter1 = ParticleSun::create();    _emitter1->setTexture( TextureCache::getInstance()->addImage("fire.png") );    addChild(_emitter1, 10, 2);    ParticleGalaxy* _emitter2 = ParticleGalaxy::create();    _emitter2->setTexture( TextureCache::getInstance()->addImage("fire.png") );    skeletonNode->addChild(_emitter2, 10, 20);    scheduleUpdate();    return true;}

 

//update

void HelloWorld::update (float deltaTime) {    CCSkeletonAnimation* skeletonNode = (CCSkeletonAnimation*)getChildByTag(1);        Bone* pBone = skeletonNode->findBone("left hand");    CCPoint pt = skeletonNode->convertToWorldSpace(ccp(pBone->worldX,pBone->worldY));//粒子1是添加在Scene上的 所以需要坐标转换一下    ParticleSun* _emitter1 = (ParticleSun*)getChildByTag(2);    _emitter1->setPosition(pt);    pBone = skeletonNode->findBone("right hand");    pt = ccp(pBone->worldX,pBone->worldY);//粒子2直接挂到骨骼动画上,所以不需要转换坐标    ParticleGalaxy* _emitter2 = (ParticleGalaxy*)skeletonNode->getChildByTag(20);    _emitter2->setPosition(pt);}

 

 

转载于:https://www.cnblogs.com/mrblue/p/3414158.html

你可能感兴趣的文章
Caffe: Cannot create Cublas handle. Cublas won't be available
查看>>
Linux 下 LXD 容器搭建 Hadoop 集群
查看>>
mysql describe
查看>>
Hello博客园
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
Android基础入门教程——8.1.2 Android中的13种Drawable
查看>>
C语言作业3
查看>>
.Net Core中的通用主机(二)——托管服务
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>
koogra--Excel文件读取利器
查看>>
ASP.NET 使用ajaxupload.js插件出现上传较大文件失败的解决方法
查看>>
jenkins搭建
查看>>
C#中使用Split分隔字符串的技巧
查看>>
(springboot)freemarker(二)
查看>>
linux下golang gRPC配置详解
查看>>
mongodb 简单使用说明
查看>>
eclipse的调试方法的简单介绍
查看>>
OneAPM 云监控部署与试用体验
查看>>
加固linux
查看>>
wget 升级
查看>>