如何给spine骨骼动画挂载粒子特效
目的是要把粒子挂载到骨骼动画的某个一个部件上,其实最主要是找对位置。
预览效果,左手红火,右手蓝火,很炫吧:)

//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(,));
//skeletonNode->debugSlots = true;
skeletonNode->debugBones = true;
skeletonNode->timeScale = 0.5f;
addChild(skeletonNode,,); ParticleSun* _emitter1 = ParticleSun::create();
_emitter1->setTexture( TextureCache::getInstance()->addImage("fire.png") );
addChild(_emitter1, , ); ParticleGalaxy* _emitter2 = ParticleGalaxy::create();
_emitter2->setTexture( TextureCache::getInstance()->addImage("fire.png") );
skeletonNode->addChild(_emitter2, , ); scheduleUpdate(); return true;
}
//update
void HelloWorld::update (float deltaTime)
{
CCSkeletonAnimation* skeletonNode = (CCSkeletonAnimation*)getChildByTag(); Bone* pBone = skeletonNode->findBone("left hand");
CCPoint pt = skeletonNode->convertToWorldSpace(ccp(pBone->worldX,pBone->worldY));//粒子1是添加在Scene上的 所以需要坐标转换一下
ParticleSun* _emitter1 = (ParticleSun*)getChildByTag();
_emitter1->setPosition(pt); pBone = skeletonNode->findBone("right hand");
pt = ccp(pBone->worldX,pBone->worldY);//粒子2直接挂到骨骼动画上,所以不需要转换坐标
ParticleGalaxy* _emitter2 = (ParticleGalaxy*)skeletonNode->getChildByTag();
_emitter2->setPosition(pt);
}
如何给spine骨骼动画挂载粒子特效的更多相关文章
- 使用spine骨骼动画制作的libgdx游戏
(官网:www.libgdx.cn) Super Spineboy是一个使用Spine和libgdx开发的跨平台游戏(Windows,Mac,Linux),Spine是一个2D游戏动画工具.Super ...
- spine骨骼动画组件使用详解
1. spine骨骼动画工具 骨骼动画: 把动画打散, 通过工具,调骨骼的运动等来形成动画spine是一个非常流行的2D骨骼动画制作工具spine 动画美术人员导出3个文件: (1) .png文 ...
- 记录 Spine骨骼动画导入unity 步骤[unity3d 4.6.6版本 2d动画]
1:准备好unity使用Spine所需要的运行库,可到如下地址 https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine ...
- 在libGDX中使用Spine骨骼动画
首先,github是个宝库,实践流的读者可以直接看例子进行学习 1.这是Spine官方给出的例子 https://github.com/EsotericSoftware/spine-superspin ...
- quick lua 使用spine骨骼动画
看下下面两个文件 <spine/SkeletonRenderer.h><spine/SkeletonAnimation.h> 1.lua中创建方法: sp.SkeletonAn ...
- cocos2d-x spine 加载粒子特效
spine骨骼加载粒子效果 将粒子效果加到骨骼上,update位置和角度.h#ifndef __HOMESCENE_H__#define __HOMESCENE_H__#include "c ...
- cocos2d-js 骨骼动画 3.10
近期使用了cocos动画中的骨骼动画,这里记录使用的两种方式(3.10版): 一.cocos自带的动画编辑器导出的动画 ccs.armatureDataManager.addArmatureFileI ...
- 解决Spine骨骼混合动画错乱问题
Spine是一个很好的制作2D骨骼动画的软件,其中提供的混合(mix)动画功能可以很柔和过度两个不同的动画,但在混合时期,稍有不善,非常容易出现各种错乱.在Spine2D骨骼动画群上,有人提出全K帧. ...
- HTML5骨骼动画Demo | 使用min2d、createjs、pixi播放spine动画
Spine做骨骼动画是比较流行的,使用起来可能相对复杂,但功能毕竟强大,所以市场占有率较大. 在unity.cocos2d.starling中使用spine已经很成熟了,而HTML5这一块可能刚刚起步 ...
随机推荐
- Mysql数据库登录问题:Your password has expired.
ERROR 1862 (HY000): Your password has expired. To log in you mustchange it using a client that suppo ...
- dijkstra,SPFA,Floyd求最短路
Dijkstra: 裸的算法,O(n^2),使用邻接矩阵: 算法思想: 定义两个集合,一开始集合1只有一个源点,集合2有剩下的点. STEP1:在集合2中找一个到源点距离最近的顶点k:min{d[k] ...
- Syntax error, annotations are only available if source level is 1.5
在项目上右键 -> Properties -> Java Compiler
- C#获取本机的MAC地址
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.M ...
- ubuntu设置开机启动图形应用程序,替换默认图形桌面
直接将启动程序放在rc.local即可.但是如果自动启动的程序奔溃后,会返回到ubuntu的unity桌面系统. 我遇到的问题是程序还有调用 xset 去定时关闭屏幕.在桌面启动后调用没问题.如果rc ...
- uC/OS-II源码分析
uC/OS-II源码分析 首先从main.c文件看起,下面是uC/OS-II main.C的大致流程: main(){ OSInit(); TaskCreate(...); OSStart(); } ...
- CentOS 配置hadoop
Hadoop是用作处理大数据用的,核心是HDFS.Map/Reduce.虽然目前工作中不需要使用这个,但是,技多不压身,经过虚拟机很多遍的尝试,终于将Hadoop2.5.2的环境顺利搭建起来了. ...
- MVC 返回图片
//调用 http://localhost:60663/home/GetCoder39Img?mycode=123443545 public void GetCoder39Img(string myc ...
- linux建立用户 详细
.你同时属于两个或两个以上的组. 两个条件你至少具备一个,你才能够把文件所属旧组变为新组.使用如下的命令将当前目录下所有html文件所属的组改为httpd: chgrp httpd *.html 和c ...
- C++_Eigen函数库用法笔记——Matrix and Vector Arithmetic
Addition and subtraction Scalar multiplication and division Transposition Matrix-matrix and matrix-v ...