添加动画(两种)

/////////   添加帧动画(每一副图加载)   ///////////

// 添加一个精灵用于执行帧动画
    Sprite *sprite = Sprite::create("grossini_dance_01.png");
    sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
    this->addChild(sprite);

Animation *animation = Animation::create();
    char str[50] = { 0 };
    for (int i = 1; i < 14; i++){
        sprintf(str, "grossini_dance_%02d.png", i);
        // 将图片添加进去
        animation->addSpriteFrameWithFileName(str);
    }

// 设置每帧动画的时间间隔
    animation->setDelayPerUnit(0.3f);
    // 设置动画执行完最后一帧后是否回到第一帧
    animation->setRestoreOriginalFrame(true);
    sprite->runAction(Animate::create(animation));
    // 无限运动
    //sprite->runAction(RepeatForever::create( Animate::create(animation)));

/////////   添加帧动画(每一副图加载)   ///////////

/////////   添加帧动画(帧缓存)    //////////

// 创建精灵,用来执行动画
    Sprite *sprite = Sprite::create();
    sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
    addChild(sprite);

// 创建帧缓存
    SpriteFrameCache *spriteFrameCache = SpriteFrameCache::getInstance();
    // 添加帧缓存的文件
    spriteFrameCache->addSpriteFramesWithFile("grossini.plist");

// 设置数组,存放帧缓存的图片信息
    Vector<SpriteFrame*> vec;
    // 创建字符数组,用于存储图片的名称
    char name[50];
    // 初始化数组
    memset(name, 0, 50);
    for (int i = 1; i < 15; i++){
        // 将图片的名字添加到 name 数组中
        sprintf(name, "grossini_dance_%02d.png", i);
        // 将图片添加到容器中
        vec.pushBack(spriteFrameCache->getSpriteFrameByName(name));
    }

// 创建帧动画
    Animation* animation = Animation::createWithSpriteFrames(vec,0.3f);

sprite->runAction(Animate::create(animation));

/////////   添加帧动画(帧缓存)    //////////

时间: 2024-10-11 02:58:05

添加动画(两种)的相关文章

iOS:抽屉侧滑动画两种形式(1、UIView侧滑 2、ViewController侧滑)

前言: 在iOS中抽屉动画是很常用的一种技术,使用它有很炫的体验效果,为app增添特色,形式就两种,一个是UIView的侧滑,另一个就是ViewController的侧滑. 实现方式: 抽屉侧滑动画有三种方式,一种是UIView的侧滑:一种是使用MMDrawerController框架实现控制器的侧滑:最后一种使用系统的UIScreenEdgePanGestureRecognizer实现侧滑. 第一种方式: UIView的侧滑动画,分别为leftView.mainView.rightView,主

在Android中如何添加menu两种方法

Android界面开发之菜单Menu用法 Android手机用一个按键“Menu”专门来显示菜单,所以,当应用程序设置了菜单,我们便可以通过该按键来操作应用程序的菜单选项. 要实现菜单功能,首先需要通过方法onCreateOptionsMenu来创建菜单,然后需要对其能够触发的事件进行监听,这样才能够在事件监听onOptionsItemSelected中根据不同的菜单选项来执行不同的任务.当然,可以通过XML布局来实现,也可以通过menu.add方法来实现.下面的示例分别采用了这两种不同的方法来

textView 添加超链接(两种实现方式)

在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现 在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接. 代码如下: 第一种 复制代码代码如下: public class MainActivity extends Activity { @Override protected void onCreate(Bundle

实现逐帧动画和补间动画两种动画效果

1.逐帧动画(Frame Animation)通常在Android项目的res/drawable/目录下面定义逐帧动画的XML模板文件.编码的时候,需要在动画模板文件的<animation-list>标签中依次放入需要播放的图片,并设置好播放的间隔时间. <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"

安卓动画两种基本实现方式

1.代码实现混合动画的方式,这里用到了AnimationSet这个Animation的子类来实现,从底层看该类实现了Animation的大多数方法,构造函数也有好几个. AnimationSet animationSet = new AnimationSet(true);//这里的ture表示所有的动画都使用同一变速器,也就是在布局文件中的set里设置shareInterpolator="true" AlphaAnimation alphaAnimation = new AlphaAn

逐帧动画 两种实现方式 css和js

第一种: css部分: <style> #foxtail{ background: url(../img/foxtail.png) 0 0 no-repeat; width: 156px; height: 156px; } @keyframes playfox{ 0%{background-position: -6864px 0;} 100%{background-position: 0 0;} } @-webkit-keyframes playfox{ 0%{background-posit

16jquery学习笔记-------动画----两种层显示和隐藏slide、fade

1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 4 <title></title> 5 <script src="jquery-1.8.3.js"><

飞塔100D添加地址保留的两种方法

在一些情况下需要对mac地址分配一个固定的ip地址,比如某台服务器或者某台打印机,让其每次获取相同的ip地址,便于大家的访问,DP的dhcp服务器大都是放在防火墙上面的,下面就用两种方法来操作下,对某个mac地址分配固定的ip地址. 1.通过web页面进行添加 定位到系统管理--网络–dhcp服务器 2.通过ssh连接到防火墙进行添加 3.两种方式,通过手机端进行"忽略此网络"后重新连接均可以实现获取同一个ip地址.  

给单元素艺术添加动画

原文:Animating Single Div Art 翻译:nzbin 导读:学习工具的最好的方法就是尝试新技术,本文通过“单元素艺术”介绍了 CSS 变量的使用以及给单元素添加动画的几种方法.通过学习作者编写的复杂的“单元素”示例,相信你对 CSS 变量以及 CSS 动画会有一个深刻的认识. 如果你深入挖掘你的工具,你可以使用最基本的 HTML 做一些令人称奇的东西.我对 Lynn Fisher 以及其他人的“单元素艺术”(“Single Div Art”)印象深刻,所谓“单元素艺术”就是你