Files
2014-08-20 16:15:02 +08:00

178 lines
4.6 KiB
C++

#include "GameShare_TimeProcess.h"
#include "Scene_GameOver.h"
#include "RandomUtil.h"
#include "TaikoScene.h"
#include "CircleScene.h"
USING_NS_CC;
#define _OffsetY_Max 150
static const int FIELD_WIDTH = 87;
static const int FIELD_HIGH = 87;
CCircleScene::CCircleScene():mulLastTouchTime(0)
{
}
CCircleScene::~CCircleScene()
{
// for (int i = 0 ; i < mVecFruit.size(); ++i)
// {
// CGameFruit* pFruit = mVecFruit[i];
// CC_SAFE_RELEASE_NULL(pFruit);
//
// }
// //CFruitData* pData = ;
// CFruitData::getInstance()->purge();
}
CCScene* CCircleScene::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create();
// 'layer' is an autorelease object
// HelloWorld *layer = HelloWorld::create();
CCircleScene *layer = CCircleScene::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
bool CCircleScene::init()
{
if (!GameShare_Scene::init()) {
return false;
}
//设置分数
this->setScore(0/*CFruitData::getInstance()->getScore()*/);
//设置能力最大值
boom_setMaxBoomEnergy();
//this->addEnergy();
//设置连击.
//if( CFruitData::getInstance()->getContinueNum() > 0)
//this->setBatter(CFruitData::getInstance()->getContinueNum());
//InitListerner();
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
this->setTouchEnabled(true);
start();
return true;
}
void CCircleScene::start()
{
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
for (int i = 0; i < 5; ++i)
{
CCString str;
str.initWithFormat("circle/%d.png",i+2);
mpSp[i] = CCSprite::create(str.getCString());
mpSp[i]->setVisible(true);
addChild(mpSp[i],2);
mpSp[i]->setPosition(ccp(visibleSize.width/2,/*visibleSize.height/2*/340+132));
if (i == 0)
{
mpSp[i]->runAction( CCRepeatForever::create(CCRotateBy::create(0.2, 15)));
}else if ( i == 1)
{
mpSp[i]->runAction( CCRepeatForever::create(CCRotateBy::create(0.4, -15)));
}else if ( i == 2)
{
mpSp[i]->runAction( CCRepeatForever::create(CCRotateBy::create(0.8, 15)));
}else if ( i == 3)
{
mpSp[i]->runAction( CCRepeatForever::create(CCRotateBy::create(0.2, -15)));
}
}
}
//单击事件开始
bool CCircleScene::ccTouchBegan(cocos2d::CCTouch * pTouch, cocos2d::CCEvent *pEvent)
{
CCPoint ptouch = pTouch->getLocationInView();
//CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
return true;
}
//单击事件拖动
void CCircleScene::ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
}
//单击事件结束
void CCircleScene::ccTouchEnded(cocos2d::CCTouch* pTouch, cocos2d::CCEvent* pEvent)
{
}
//注册单击事件
void CCircleScene::registerWithTouchDispatcher()
{
CCDirector* pDirector = CCDirector::sharedDirector();
pDirector->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority + 1, true);
}
void CCircleScene::update(float fDelta)
{
}
void CCircleScene::addTarget()
{
}
void CCircleScene::onEnter()
{
CCLayer::onEnter();
CCDirector::sharedDirector()->getScheduler()->scheduleUpdateForTarget(this, 0, false);
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache();
}
void CCircleScene::onExit()
{
CCLayer::onExit();
CCDirector::sharedDirector()->getScheduler()->unscheduleUpdateForTarget(this);
}
// a selector callback
void CCircleScene::menuCloseCallback(CCObject* pSender)
{
}
void CCircleScene::InitListerner()
{
//CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(CTaikoScene::MsgHanlde_GameTimeOut), kGameTimeOutName, NULL);
}
void CCircleScene::MsgHanlde_GameTimeOut(CCObject* obj)
{
// CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, kGameTimeOutName);
//
// CCUserDefault::sharedUserDefault()->setDoubleForKey(KEY_LINK_MAXSCORE, (double)m_nSumCount);
// CCUserDefault::sharedUserDefault()->flush();
// CCScene* scene = CCScene::create();
// Scene_GameOver* layer = Scene_GameOver::create();
// layer->ScoreToSprite(m_nSumCount);
// scene->addChild(layer);
// CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(0.5, scene));
}
//疯狂模式结束消息处理函数
void CCircleScene::msgHandle_CrazyTimeOut(CCObject* obj)
{
//重置连续次数
// CFruitData::getInstance()->setContinueNum(0);
// CFruitData::getInstance()->setCrazyContinueNum(0);
}