cocos2dx lua 动画

--方法1

local spriteFrameCache=
cc.SpriteFrameCache:getInstance();

local animationCache=
cc.AnimationCache:getInstance();

spriteFrameCache:addSpriteFrames("Effect/loading.plist");

animationCache :addAnimations
("Effect/loading_effect.plist");

local animation_loading=
cc.AnimationCache:getInstance():getAnimation("animation_loading")

self.animationLoading
= cc.Sprite:create();

self.animationLoading:setPosition( cc.p(viewSize.width/2,
viewSize.height/2));

self.Layer :addChild
( self.animationLoading);

self.animationLoading:runAction( cc.RepeatForever:create(cc.Animate:create(animation_loading) ) );

--方法2

--[[

local spriteFrameCache=
cc.SpriteFrameCache:getInstance();

spriteFrameCache:addSpriteFrames("Effect/loading.plist","Effect/loading.png");

self.animationLoading = cc.Sprite:create();

self.animationLoading:setPosition( cc.p(viewSize.width/2,
viewSize.height/2));

self.Layer :addChild
( self.animationLoading);

local animFrames = {};

for i=1,59 do

if i<10 then

local frame = spriteFrameCache:getSpriteFrame( string.format("loading_00%02d.png", i) );

animFrames[i] = frame;

end

local frame = spriteFrameCache:getSpriteFrame( string.format("loading_0%02d.png", i) );

animFrames[i] = frame;

end

local animation = cc.Animation:createWithSpriteFrames(animFrames, 0.03);

self.animationLoading:runAction( cc.RepeatForever:create(cc.Animate:create(animation) ) );

]]

------------------------------

loading_effect.plist文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>animations</key>

<dict>

<!-- Loading特效 -->

<key>animation_loading</key>

<dict>

<key>delay</key>

<real>0.03</real>

<key>frames</key>

<array>

<string>loading_000.png</string>

<string>loading_001.png</string>

....

<string>loading_059.png</string>

</array>

</dict>

</dict>

</dict>

</plist>

------------------------------

loading_.plist文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>frames</key>

<dict>

<key>loading_000.png</key>

<dict>

<key>frame</key>

<string>{{508,84},{1,1}}</string>

<key>offset</key>

<string>{-99.5,99.5}</string>

<key>rotated</key>

<false/>

<key>sourceColorRect</key>

<string>{{0,0},{1,1}}</string>

<key>sourceSize</key>

<string>{200,200}</string>

</dict>

......................

<key>loading_059.png</key>

<dict>

<key>frame</key>

<string>{{508,84},{1,1}}</string>

<key>offset</key>

<string>{-99.5,99.5}</string>

<key>rotated</key>

<false/>

<key>sourceColorRect</key>

<string>{{0,0},{1,1}}</string>

<key>sourceSize</key>

<string>{200,200}</string>

</dict>

</dict>

<key>metadata</key>

<dict>

<key>format</key>

<integer>2</integer>

<key>realTextureFileName</key>

<string>loading.png</string>

<key>size</key>

<string>{512,512}</string>

<key>smartupdate</key>

<string>$TexturePacker:SmartUpdate:0e9839b17b099fb41aef47a1984b0b09$</string>

<key>textureFileName</key>

<string>loading.png</string>

</dict>

</dict>

</plist>

loading.plist

loading.png

用TexturePackerGUI工具生成的

时间: 2024-10-09 05:16:22

cocos2dx lua 动画的相关文章

Cocos2d-x Lua中帧动画

Cocos2d-x Lua中帧动画 帧动画就是按一定时间间隔.一定的顺序.一帧一帧地显示帧图片.我们的美工要为精灵的运动绘制每一帧图片,因此帧动画会由很多帧组成,按照一定的顺序切换这些图片就可以了. 在Cocos2d-x Lua中播放帧动画涉及到两个类:Animation和Animate,类图如图所示,Animation是动画类,它保存有很多动画帧,Animate类是动作类它继承于ActionInterval类,属于间隔动作类,它的作用是将Animation定义的动画转换成为动作进行执行,这样我

基于Cocos2dx+Lua v3.x的RichLabel

RichLabel 简介 RichLabel基于Cocos2dx+Lua v3.x解析字符串方面使用了labelparser,它可以将一定格式的字符串,转换为lua中的表结构扩展标签极其简单,只需添加一个遵守规则的标签插件即可,无需改动已存在代码!!! (标签插件都在labels文件夹下) labelparser的详解labelparser在github上的源码RichLabel在github上的源码 支持图片(缩放,旋转,是否可见) 支持文本属性(字体,大小,颜色,阴影,描边,发光) 支持标签

cocos2d-x lua中实现异步加载纹理

原文地址:  http://www.cnblogs.com/linchaolong/p/4033118.html 前言   问题:最近项目中需要做一个loading个界面,界面中间有一个角色人物走动的动画,在显示这个loading界面的时候加载资源,项目是用cocos2d-x lua实现的,界面做出来后发现在加载资源的时候界面会卡住. 原因: 因为使用的不是异步加载,而且cocos2d-x没有绑定异步加载资源的api到lua中,其实在lua中实现不了异步. 想通过在lua中启动一个线程去加载资源

Cocos2d-x Lua中Sprite精灵类

Cocos2d-x Lua中Sprite精灵类 精灵类是Sprite,它的类图如下图所示. Sprite类图 Sprite类直接继承了Node类,具有Node基本特征.此外,我们还可以看到Sprite类的子类有:PhysicsSprite和Skin.PhysicsSprite是物理引擎精灵类,Skin是皮肤精灵类用于骨骼动画.创建Sprite精灵对象创建精灵对象有多种方式,其中常用的函数如下:cc.Sprite:create ().创建一个精灵对象,纹理[ 纹理(texture),表示物体表面细

第一个Cocos2d-x Lua游戏

我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容.创建工程我们创建Cocos2d-x Lua工程可以通过Cocos2d-x提供的命令工具cocos实现,但这种方式不能与Cocos Code IDE集成开发工具很好地集成,不便于程序编写和调试.由于Cocos Code IDE工具是Cocos2d-x开发的专门为Cocos2d-JS和Cocos2d-x Lua开发设计的,因此使用Cocos Code IDE工具很方便创建Cocos2d-x Lua工

Cocos2d-x Lua中使用标签

游戏场景中的文字包括了静态文字和动态文字.静态文字如下图所示游戏场景中①号文字“COCOS2DX”,动态文字如图4-1所示游戏场景中的②号文字“Hello World”.静态文字一般是由美工使用Photoshop绘制在背景图片上,这种方式的优点是表现力很丰富,例如:①号文字“COCOS2DX”中的“COCOS”.“2D”和“X”设计的风格不同,而动态文字则不能,而且静态文字无法通过程序访问,无法动态修改内容.动态文字一般是需要通过程序访问,需要动态修改内容.Cocos2d-x Lua可以通过标签

将cocos2dx+lua创建的游戏port到windows phone

在整个Port的过程中遇到的问题总结如下 1.一定要使用最新版本的cocos2dx,原因大家看一下changelog就知道了,最近的cocos2dx版本都是在修windows phone上的bug,所以为了避免少出问题,还是直接升级到最新版本吧 2.如果你使用的是cocos2dx + lua方式,目前的project-creator并不支持lua版本的windows phone平台,但是cpp版本是支持的,因此我们可以在cpp版本的基础上把libcocoslua以及liblua两个工程加到项目中

Cocos2d-x lua游戏开发之安装Lua到mac系统

注意:mac ox ,lua version :5.15 下载lua官网的lua, 注意:最好是5.15以下,5.2的lua不支持table的getn()方法,这让我情何以堪.(获取table长度,相当与cout,size,length) 下载解压, cd 目录 make macosx sudo make install (是的,就是小写的install,虽然文件夹下的是INSTALL) ook,进入命令行,输入lua 看下,效果 Cocos2d-x lua游戏开发之安装Lua到mac系统,布布

cocos2dx 之动画的实现

cocos2dx 之动画的实现,而不是动作. 比如在游戏中我们需要一个人物跑动的效果(不是移动的效果),这时候我们就需要用到动画了,我们通过执行播放一组动作图片,就可以实现动画的效果: 将动画组打包,通过 TexturePacker 打包图片组成一张图片 ,比如名字就叫 playerRun.png, playerRun.plist 将文件拖入到项目中,在代码中通过 SpriteFrameCache 加载图片资源,通过SpriteFrame 组成动画的帧具体实现如下: Animate* T2Ani