Cocos帧动画Animate和Animation创建

本文介绍了如何使用Cocos2d-x框架创建帧动画,包括通过PPT制作帧动画图片并命名为pass01.png到pass02.png等,将这些图片放入res文件夹。接着讲解了Animation的概念,它包含多个精灵帧,可以设定时间间隔和持续时间,本质上是一组数据。最后,文章阐述了Animate是基于Animation的动作实现,详细说明了Animate的创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为作者原创,其中知识内容出自闪电终结者的视频课程

首先用ppt简单的做一个帧动画,把做好的每一张图片命名为pass01.png pass02.png ….复制到res文件夹下

// 精灵是用于显示动画效果,需要写一个动画,然后往动画中添加图片,在让精灵显示出来
void TransferTestScene::spritePlayShow() {
    auto sprite = cocos2d::Sprite::create();
    // 设置锚点
    sprite -> setAnchorPoint(cocos2d::Vec2(0, 0));
    // 设置坐标
    sprite -> setPosition(0, 0);
    auto animation = cocos2d::Animation::create(); // 创建动画
    for (int index = 1; index <= 19; index++) {
        auto str = new char[50];// std::isstream << ""
        std::sprintf(str, "pass/pass%02d.png", index);
        animation -> addSpriteFrameWithFile(str); // 向动画添加图片
    }
    for (int index = 19; index >= 1; index--) {
        auto str = new char[50];// std::isstream << ""
        std::sprintf(str, "pass/pass%02d.png", index);
        animation -> addSpriteFrameWithFile(str); // 向动画添加图片
    }
    // 设置动画帧率
    animation -> setDelayPerUnit(5.0f / 38);
//    // 设置动画播放完毕后是否回到第一帧
//    animation -> setRestoreOriginalFrame(true);
    // 用动画创建精灵动作
    auto action = cocos2d::Animate::create(animation);
    // 让精灵来完成动作
    sprite -> runAction(cocos2d::RepeatForever::create(action));

    addChild(sprite);

Animation是由许多精灵帧组成,可以设置间隔时间,持续时间等,它实际上是包含着一组数据。Animate是一个动作,它是通过Animation对象创建。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值