Cocos2d-X实现七夕情人节贺卡

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:

对于七夕情人节贺卡,我并不陌生,在学习Win32 API 的时候使用Win32 API实现过七夕情人节贺卡,这次将使用Cocos2s-X重新实现七夕情人节贺卡

想知道如何使用Win32 API 实现七夕情人节贺卡可以看我的博客:

位图的应用(七夕情人节贺卡) :http://blog.csdn.net/u010105970/article/details/19613079

 

言归正传,先看一下实现的效果:

\

 

开发环境:VS2012 + Cocos2d-X2.2.3

 

实现思路:

准备7张png格式的图片

\

创建一个有14帧的动画,按照图片名称的顺序添加7张图片,再倒序添加7张图片,最后播放动画时,设置动画的播放次数为无数次,最后在资源中添加一个WAV格式的音乐,使用SimpleAudioEngine中的播放播放音乐

 

程序代码:

 

#include Scene.h
#include SimpleAudioEngine.h

using namespace CocosDenshion;

Scene::Scene(void)
{
}


Scene::~Scene(void)
{
}


CCScene* Scene::scene()
{
    CCScene* scene = CCScene::create();

    CCLayer* layer = Scene::create();

    scene->addChild(layer);

    return scene;
}


bool Scene::init()
{
    CCLayer::init();

    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    //添加背景图片
    CCSprite* bk = CCSprite::create(IMAGE_1.png);
    addChild(bk);
    bk->setPosition(ccp(winSize.width / 2, winSize.height / 2));

    //播放背景音乐
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(1.wav, true);

    //创建一个长度为7的集合
    CCArray *aniframe=CCArray::createWithCapacity(14); 

    //精灵
    CCSprite *sprite;

    char str[20];

    for(int i=1; i<=7;i++)
    {
        //通过下标动态创建精灵
        sprintf(str, IMAGE_%d.png, i);  

        CCSpriteFrame *frame =CCSpriteFrame::create(str, CCRectMake(0,0,639,423));

        if(i == 1)
        {
            //默认添加第一帧图到界面上
            sprite =CCSprite::createWithSpriteFrame(frame);

            sprite->setPosition(ccp(winSize.width / 2, winSize.height / 2));

            addChild(sprite);

        }
        
        //将每一帧精灵动画添加到集合里面
        aniframe->addObject(frame);
    }
    

    for(int i=7; i>=1; i--)
    {
        //通过下标动态创建精灵
        sprintf(str, IMAGE_%d.png, i);  

        CCSpriteFrame *frame =CCSpriteFrame::create(str, CCRectMake(0,0,639,423));

        if(i == 7)
        {
            //默认添加第一帧图到界面上
            sprite =CCSprite::createWithSpriteFrame(frame);

            sprite->setPosition(ccp(winSize.width / 2, winSize.height / 2));

            addChild(sprite);

        }
        
        //将每一帧精灵动画添加到集合里面
        aniframe->addObject(frame);
    }


    //通过集合创建动画
    CCAnimation *animation=CCAnimation::createWithSpriteFrames(aniframe, 0.1f);
    CCAnimate *animate=CCAnimate::create(animation);

    //执行动画
    sprite->runAction(CCRepeatForever::create(animate));
    
    return true;
}

	
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
  • cocos2dx在xcode下开发,编译到android上(2)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1