#ifndef __HardestGameEver__rank__
#define __HardestGameEver__rank__
#include "cocos2d.h"
USING_NS_CC;
#include
class Rank:public CCLayer
{
public:
virtual bool init();
static CCScene* scene();
void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent*pEvent);
void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
~Rank();
virtual void keyBackClicked();
CREATE_FUNC(Rank);
private:
void back();
void play(CCObject*Psender);
void addsprite();
void setsprite(CCSprite*sp1,CCSprite*sp2,int tag);
int key;
CCNode * node;
CCSprite*sprite1;
CCSprite*sprite2;
CCSprite*sprite3;
CCSprite*sprite4;
CCSprite*sprite5;
CCSprite*sprite6;
CCPoint startPoint;
};
#endif
#include "rank.h"
#include "GameBegain.h"
#include "SimpleAudioEngine.h"
#include "Loadingscene.h"
bool Rank::init()
{
CCSize size = CCDirector::sharedDirector()->getWinSize();
if (!CCLayer::init())
{
return false;
}
key = 0;
this->setTouchEnabled(true);
this->setKeypadEnabled(true);
//添加背景图片
CCSprite* backround = CCSprite::create("FBrank_bg-iphone21.jpg");
this->addChild(backround,0);
backround->setPosition(ccp(size.width*0.5, size.height*0.5));
//添加头
CCSprite* title = CCSprite::create("FBrank_bg-iphone24.png");
this->addChild(title,2);
title->setPosition(ccp(size.width*0.5, size.height-title->getContentSize().height*0.4+2));
//添加menu
CCMenuItemImage * back =CCMenuItemImage::create("ranking_button016-iphone4.png","ranking_button016-iphone4.png", this, menu_selector(Rank::back));
back->setPosition(ccp(back->getContentSize().width*0.75, size.height-back->getContentSize().height*0.6));
CCMenu * menu = CCMenu::create(back,NULL);
this->addChild(menu,2);
menu->setPosition(CCPointZero);
node = CCNode::create();
this->addChild(node,1);
this->addsprite();
return true;
}
CCScene*Rank::scene()
{
CCScene* scene = CCScene::create();
Rank*layer = Rank::create();
scene->addChild(layer);
return scene;
}
void Rank::back()
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
CCDirector::sharedDirector()->replaceScene(GameBegain::scene());
}
void Rank::play(CCObject*Psender)
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("gen_click.mp3");
CCSprite * s = (CCSprite*)Psender;
if (s->getPositionY() == sprite1->getPositionY())
{
CCDirector::sharedDirector()->replaceScene(Loadingscene::creat(TargetSceneGame2Scene, 1));
}
else if(s->getPositionY()==sprite2->getPositionY())
{
CCDirector::sharedDirector()->replaceScene(Loadingscene::creat(TargetSceneInstructionScene,2));
}
}
Rank::~Rank()
{
this->removeAllChildren();
}
void Rank::addsprite()
{
//添加stage和play键
CCArray * array = CCArray::create();
array->retain();
sprite1 = CCSprite::create("G1.png");
sprite2 = CCSprite::create("G2.png");
sprite3 = CCSprite::create("G3.png");
sprite4 = CCSprite::create("G4.png");
sprite5 = CCSprite::create("G5.png");
sprite6 = CCSprite::create("G6.png");
array->addObject(sprite1);
array->addObject(sprite2);
array->addObject(sprite3);
array->addObject(sprite4);
array->addObject(sprite5);
array->addObject(sprite6);
CCSprite*n1 = CCSprite::create("N1.png");
CCSprite*n2 = CCSprite::create("N2.png");
CCSprite*n3 = CCSprite::create("N3.png");
CCSprite*n4 = CCSprite::create("N4.png");
CCSprite*n5 = CCSprite::create("N5.png");
CCSprite*n6 = CCSprite::create("N6.png");
array->addObject(n1);
array->addObject(n2);
array->addObject(n3);
array->addObject(n4);
array->addObject(n5);
array->addObject(n6);
for (int i=0; i<<span style="color: rgb(4, 51, 255); ">6; i++)
{
this->setsprite((CCSprite*)array->objectAtIndex(i),(CCSprite*)array->objectAtIndex(i+6),i+1);
node->addChild((CCSprite*)array->objectAtIndex(i),6-i);
}
CCSprite*lock3 = CCSprite::create("Lock2.png");
lock3->setScale(0.5);
sprite3->addChild(lock3,5);
lock3->setPosition(ccp(sprite3->getContentSize().width*0.9, sprite3->getContentSize().height*0.3));
CCSprite*lock4 = CCSprite::create("Lock2.png");
lock4->setScale(0.5);
sprite4->addChild(lock4,5);
lock4->setPosition(ccp(sprite4->getContentSize().width*0.9, sprite4->getContentSize().height*0.3));
CCSprite*lock5 = CCSprite::create("Lock2.png");
lock5->setScale(0.5);
sprite5->addChild(lock5,5);
lock5->setPosition(ccp(sprite5->getContentSize().width*0.9, sprite5->getContentSize().height*0.3));
CCSprite*lock6 = CCSprite::create("Lock2.png");
lock6->setScale(0.5);
sprite6->addChild(lock6,5);
lock6->setPosition(ccp(sprite6->getContentSize().width*0.9, sprite6->getContentSize().height*0.3));
array->release();
}
void Rank::setsprite(CCSprite *sp1, CCSprite *sp2,int tag)
{
CCSize size = CCDirector::sharedDirector()->getWinSize();
sp1->setPosition(ccp(sp1->getContentSize().width*0.6, size.height-sp1->getContentSize().height*tag));
sp1->addChild(sp2);
sp2->setPosition(ccp(0, sp1->getContentSize().height-sp2->getContentSize().height*0.5));
//
CCMenuItemImage * s = CCMenuItemImage::create("FBrank-iphone4.png", "FBrank-iphone4.png", this, menu_selector(Rank::play));
s->setPosition(ccp(size.width-s->getContentSize().width, sp1->getPositionY()));
//
CCSprite* select = CCSprite::create("Game_select1.png");
select->setPosition(ccp(size.width-s->getContentSize().width-80, sp1->getPositionY()));
select->setScale(0.7);
CCMenu * m = CCMenu::create(s,NULL);
node->addChild(m);
node->addChild(select);
m->setPosition(CCPointZero);
}
void Rank::ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent)
{
CCTouch * touch = (CCTouch *)pTouches->anyObject();
startPoint = touch->getLocation();
}
void Rank::ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent)
{
CCMoveTo * action = CCMoveTo::create(0.5f, ccp(0, -39));
CCMoveTo * action1 = CCMoveTo::create(0.3f, ccp(0, 155));
if (node->getPositionY()<-40)
{
if (node->numberOfRunningActions()==0)
{
node->runAction(action);
}
}
else if(node->getPositionY()>160)
{
if (node->numberOfRunningActions()==0)
{
node->runAction(action1);
}
}
startPoint = CCPointZero;
}
void Rank::ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent)
{
CCTouch * touch = (CCTouch *)pTouches->anyObject();
CCPoint location = touch->getLocation();
CCPoint lo = ccpSub(location, startPoint);
if (node->numberOfRunningActions()==0)
{
node->setPositionY(node->getPositionY()+lo.y);
}
startPoint = location;
}
void Rank::keyBackClicked()
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("ComboMax.mp3");
CCDirector::sharedDirector()->replaceScene(GameBegain::scene());
}