資源簡介
一個功能簡單的時鐘,資源文件再Res文件夾內,如有任何問題可隨時留言探討
代碼片段和文件信息
//
//??clockBackgroundScene.cpp
//??Clock_1
//
//??Created?by?mzy1992?on?13-11-25.
//
//
#include?“clockBackgroundScene.h“
CCScene?*?clockBackgroundScene::scene(){
????clockBackgroundScene?*?layer=clockBackgroundScene::create();
????CCScene?*?scene?=CCScene::create();
????scene->addChild(layer);?
????return?scene;
}
bool?clockBackgroundScene::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_minute=minuteHand::create();????????????????????????????//創建分針對象
????m_minute->bindSprite(CCSprite::create(“fen.png“));
????m_minute->setPosition(ccp(winSize.width/2?winSize.height/2));
????this->addChild(m_minute);
????
????m_second=secondHand::create();
????m_second->bindSprite(CCSprite::create(“miao.png“));
????m_second->setPosition(ccp(winSize.width/2?winSize.height/2));
????this->addChild(m_second);
????
????m_hour=hourHand::create();?????????????????????????????????//創建時針對象
????m_hour->bindSprite(CCSprite::create(“shi.png“));???????????//調用hourHand類中的bindSprite方法綁定精靈對象
????m_hour->setPosition(ccp(winSize.width/2?winSize.height/2));
????this->addChild(m_hour);
????
????//獲取當前的系統時間
????struct?cc_timeval?now;
????CCTime::gettimeofdayCocos2d(&now?NULL);
????struct?tm?*tm;
????tm?=?localtime(&now.tv_sec);
????nHour?=?tm->tm_hour;?????????//當前時
????nMinute?=?tm->tm_min;????????//當前分
????nSecond?=?tm->tm_sec;????????//當前秒
????CCLog(“%d-%d-%d“nHournMinutenSecond);??//打印出來對比一下獲取的時間是否有誤
????this->schedule(schedule_selector(clockBackgroundScene::MutUpdate)1);?//每隔一秒鐘調用一次MutUpdate方法
????
????return?true;
}
void?clockBackgroundScene::MutUpdate(){
??
????static?int?mRotation=nMinute*6;??//分針初始角度
????static?int?sRotation=nSecond*6;??//秒針初始角度
????
????static?int?hRotatio;????????????/*小時的計數不同于分和秒,分和秒一個周期都是60,而小時數在一天之中是從1-24,我們需要將獲取到的時間先轉換
???????????????????????????????????????成12時制,再將其按照比例變成60為周期的數,即給當前小時*5?*/
????if(nHour>12){?????????????????????//當?當前時間大于上午12點時
????????hRotatio=(nHour-12)*5*6+(mRotation/72)*6;???/*將其轉換成12時制?并*5變成以60為周期的數,因為60對應360度,所以應換算成度數應再*6,
?????????????????????????????????????????????????????換算完成后還應該加上分針走過的偏轉角,由于分針走360度,時針走30度,所以分針每走72度時針走6度*故用分針旋轉角除以72后再乘以6?*/
????}
????else{?????????????????????????????//當前時間小于或等于12點
????????hRotatio=(nHour)*5*6+(mRotation/72)*6;
????}
????
????m_second->setRotation(sRotation);??//重新設置秒針的位置,另其角度順時針旋轉6度,即走一秒鐘
????m_minute->setRotation(mRotation);??//重置分針位置
????m_hour->setRotation(hRotatio);?????//重置時針位置
????if(sRotation>=360){????????????????//當秒針走了一圈(360度)時
????????sRotation=0;???????????????????//秒針旋轉角歸零
????????mRotation+=6;??????????????????//分針轉6度,即走了一分鐘
????????m_minute->setRotation(mRotation);?//重置分針指針位置
????????if(mRotation%72==0){???????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-11-25?16:20??Clock_1\
?????文件????????6148??2013-11-25?16:25??Clock_1\.DS_Store
?????目錄???????????0??2013-11-25?20:23??__MACOSX\
?????目錄???????????0??2013-11-25?20:23??__MACOSX\Clock_1\
?????文件??????????82??2013-11-25?16:25??__MACOSX\Clock_1\._.DS_Store
?????目錄???????????0??2013-11-25?20:23??Clock_1\.git\
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\branches\
?????文件??????????15??2013-11-25?16:19??Clock_1\.git\COMMIT_EDITMSG
?????文件?????????138??2013-11-25?16:19??Clock_1\.git\config
?????文件??????????73??2013-11-25?16:19??Clock_1\.git\desc
?????文件??????????23??2013-11-25?16:19??Clock_1\.git\HEAD
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\hooks\
?????文件?????????452??2013-11-25?16:19??Clock_1\.git\hooks\applypatch-msg.sample
?????文件?????????896??2013-11-25?16:19??Clock_1\.git\hooks\commit-msg.sample
?????文件?????????189??2013-11-25?16:19??Clock_1\.git\hooks\post-update.sample
?????文件?????????398??2013-11-25?16:19??Clock_1\.git\hooks\pre-applypatch.sample
?????文件????????1704??2013-11-25?16:19??Clock_1\.git\hooks\pre-commit.sample
?????文件????????1348??2013-11-25?16:19??Clock_1\.git\hooks\pre-push.sample
?????文件????????4951??2013-11-25?16:19??Clock_1\.git\hooks\pre-reba
?????文件????????1239??2013-11-25?16:19??Clock_1\.git\hooks\prepare-commit-msg.sample
?????文件????????3611??2013-11-25?16:19??Clock_1\.git\hooks\update.sample
?????文件???????69704??2013-11-25?17:13??Clock_1\.git\index
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\info\
?????文件??????????40??2013-11-25?16:19??Clock_1\.git\info\exclude
?????目錄???????????0??2013-11-25?20:23??__MACOSX\Clock_1\.git\
?????目錄???????????0??2013-11-25?20:23??__MACOSX\Clock_1\.git\info\
?????文件?????????171??2013-11-25?16:19??__MACOSX\Clock_1\.git\info\._exclude
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\logs\
?????文件?????????179??2013-11-25?16:19??Clock_1\.git\logs\HEAD
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\logs\refs\
?????目錄???????????0??2013-11-25?16:19??Clock_1\.git\logs\refs\heads\
............此處省略2264個文件信息
評論
共有 條評論