最难游戏代码续5_skybeauty_新浪博客

 

#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"thismenu_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(TargetSceneGame2Scene1));

    }

    else if(s->getPositionY()==sprite2->getPositionY())

    {

        CCDirector::sharedDirector()->replaceScene(Loadingscene::creat(TargetSceneInstructionScene,2));

    }

    

    

    

}

Rank::~Rank()

{

    this->removeAllChildren();

}

void Rank::addsprite()

{

    //添加stageplay

    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.9sprite3->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.9sprite4->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.9sprite5->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.9sprite6->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"thismenu_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.5fccp(0, -39));

    CCMoveTo * action1 = CCMoveTo::create(0.3fccp(0155));

        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());

}


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值