Cocos2d-x教程(2)-制作时钟

本文介绍如何使用C++和Cocos2d-x框架从零开始构建一个简单的时钟应用程序,包括时钟背景设置与时针、分针、秒针的添加及动画效果实现。

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

该篇文章将利用之前所学知识以及即将要讲解的新知识制作一个功能简单的时钟。需要源码的朋友可以留下邮箱或者到相应资源页下载        http://download.youkuaiyun.com/download/u012945598/6609307   

      首先创建一个新的工程,命名为Clock_1,将所需资源引入到目录下,右键点击目录文件夹,选择Add Files to...。

     

    资源文件加在完毕后,在Classes文件夹下创建一个C++文件,命名为clockBackgroundScene。在.h文件内添加如下代码:

.cpp文件中代码如下图所示


完成上述步骤后,打开AppDelegate.cpp,引入clockBackgroundScene的头文件#include"clockBackgroundScene.h",
boolAppDelegate::applicationDidFinishLaunching()中的CCScene *pScene =HelloWorld::scene()改为

CCScene *pScene =clockBackgroundScene::scene();


此时运行项目,已经可以看到一个时钟背景位于屏幕中央

下面我们来为时钟添加时针,分针,秒针。

分别创建三个C++类文件,命名为hourHand,minuteHand,secondHand,并将三个类放在一个名为“时钟指针”的目录下面


首先我们设置时针,在hourHand.h中加入如下代码:


在hourHand.cpp文件中代码如下:

完成上述操作后,在clockBackgroundScene.h文件中引入hourHand的头文件,并创建hourHand类的对象m_hour(红色部分为新增代码)

#include<iostream>

#include"cocos2d.h"

#include"hourHand.h"

USING_NS_CC;

class clockBackgroundScene:publicCCLayer

{

public:

    virtualbool init();

    staticCCScene * scene();        //创建场景对象的方法

    CREATE_FUNC(clockBackgroundScene);

public:

    hourHand * m_hour;                //创建hourHand的对象

};

在clockBackgroundScene.cpp文件的init( )方法中添加如下代码:

boolclockBackgroundScene::init(){

   CCSize winSize=CCDirector::sharedDirector()->getWinSize();//获取屏幕大小

   CCSprite * clockBk=CCSprite::create("background.jpg");    //创建一个精灵

    clockBk->setPosition(ccp(winSize.width/2, winSize.height/2));//设置背景精灵的坐标

    clockBk->setScale(0.5f);                                   //将精灵缩小为原来的0.5

   this->addChild(clockBk);                                  //将时钟背景添加到屏幕上

    

  m_hour=hourHand::create();                                //创建时针对象

   m_hour->bindSprite(CCSprite::create("shi.png"));

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

   this->addChild(m_hour);

   returntrue;

}

操作完成后运行项目,我们会发现时钟上面多了一个指向12的指针。按照该方法,将minuteHand与secondHand类中的代码完成

minuteHand.h文件与.cpp文件代码如下


由于secondHour文件代码与上述代码基本相同,故图片不在此处粘贴了,下面看一下clockBackgroundScene.cpp文件中的代码

m_minute ,m_second对象创建方法与m_hour相同,不要忘记引入头文件。以上步骤完成后,时钟的三个指针便都已经添加到了屏幕上,并指向12,接下来我们要做的便是让指针动起来。此时我们需要用到一个单线程定时期——schedule。

修改clockBackgroundScene.h中的代码

clockBackgroundScene.cpp文件代码如下图所示:



该教程到此就结束了,一个简单的时钟已经实现,由于素材等原因时针与钟的刻度可能略有偏差,运行效果图如下所示:


需要源代码的朋友可留下邮箱,请继续关注后续内容...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值