Exemplo n.º 1
0
bool RigidBlock::tryLaunchParticle(CCPoint emitPoint)
{

    CCParticleSystemQuad *particle = CCParticleSystemQuad::create("NewBlockParticle_1.plist");
    particle->setAnchorPoint(ccp(0.5f, 0.5));
    particle->setPosition(m_position);
    particle->setAutoRemoveOnFinish(true);
    
    
    this->addChild(particle);

    return true;
}
Exemplo n.º 2
0
void LoginLayer::_initComponent() {
    CCSize size = CCDirector::sharedDirector()->getVisibleSize();
    
    /* 大游戏之名字 */
    CCSprite* nameOfGame = CCSprite::create("GAME_NAME.png");
    nameOfGame->setPosition(ccp(size.width / 2, size.height - 120));
    addChild(nameOfGame, 10);
    
    /* 可移动背景 */
    srand( (unsigned)time( NULL ) );
    int x = rand() % 2;
    int y = rand() % 1500;
    
    CCSprite* pLoginBg = CCSprite::create("bg_big.png");
    pLoginBg->setAnchorPoint(CCPointZero);
    pLoginBg->setPosition(ccp(-y/*(LOGIN_BG_WIDTH - size.width) / 2*/, 0));
    this->addChild(pLoginBg);
    if (x == 0) {
        CCActionInterval * move = CCMoveTo::create(LOGIN_BG_TIME, ccp(size.width - LOGIN_BG_WIDTH, 0));
        CCActionInterval * move1 = CCMoveTo::create(LOGIN_BG_TIME, ccp(0, 0));
        CCFiniteTimeAction * seq= CCSequence::create(move, move1, NULL);
        CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
        pLoginBg->runAction(repeatForever);
    } else if (x == 1) {
        CCActionInterval * move = CCMoveTo::create(LOGIN_BG_TIME, ccp(0, 0));
        CCActionInterval * move1 = CCMoveTo::create(LOGIN_BG_TIME, ccp(size.width - LOGIN_BG_WIDTH, 0));
        CCFiniteTimeAction * seq= CCSequence::create(move, move1, NULL);
        CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
        pLoginBg->runAction(repeatForever);
    }
    
    /* 效果火焰 */
    CCParticleSystemQuad* particle = CCParticleSystemQuad::create("dzt3.plist");
    particle->setAnchorPoint(CCPointZero);
    particle->setPosition(ccp(320, 0));
    particle->setScaleX(0.9);
    particle->setAutoRemoveOnFinish(true);
    
    addChild(particle, 11);
    
    /* 火星 */
    CCParticleSystemQuad* particlefire = CCParticleSystemQuad::create("firefly.plist");
    particlefire->setAnchorPoint(CCPointZero);
    particlefire->setPosition(ccp(0, 800));
    particlefire->setAutoRemoveOnFinish(true);
    addChild(particlefire, 11);
    
    /* 火星1 */
    CCParticleSystemQuad* particlefire1 = CCParticleSystemQuad::create("firefly2.plist");
    particlefire1->setAnchorPoint(CCPointZero);
    particlefire1->setPosition(ccp(0, 800));
    particlefire1->setAutoRemoveOnFinish(true);
    addChild(particlefire1, 11);
    
    /* 开始游戏按钮 */
    CCMenuItemImage *pLoginBtn = CCMenuItemImage::create( "pre.png",
                                                         "def.png",
                                                         this,
                                                         menu_selector(LoginLayer::gameInit));
    pLoginBtn->setAnchorPoint(ccp(0.5, 0));
    pLoginBtn->setPosition(ccp(size.width / 2, 70));
    CCMenu* pLoginMenu = CCMenu::create(pLoginBtn, NULL);
    pLoginMenu->setAnchorPoint(CCPointZero);
    pLoginMenu->setPosition(CCPointZero);
    this->addChild(pLoginMenu);
    CCSprite* startFont = CCSprite::create("start.png");
    startFont->setAnchorPoint(ccp(0.5, 0));
    startFont->setPosition(ccp(size.width / 2, 115));
    this->addChild(startFont);
    CCActionInterval * scale = CCScaleTo::create(1, 1.2);
    CCActionInterval * scale1 = CCScaleTo::create(1.5, 1);
    CCFiniteTimeAction * seq= CCSequence::create(scale,scale1,NULL);
    CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);
    startFont->runAction(repeatForever);
    
    /* 服务器列表滚动视图 */
    /*
     m_scrollView = CCScrollView::create(VIEW_SIZE);
     m_scrollView->setViewSize(VIEW_SIZE);
     m_scrollView->setContentSize(CCSizeMake(62*5, VIEW_SIZE.height));
     m_scrollView->setAnchorPoint(ccp(0, 0));
     m_scrollView->setPosition(SCROLLVIEW_OFFSETX, OFFSET_1136 + SCROLLVIEW_OFFSETY);
     m_scrollView->setDirection(kCCScrollViewDirectionHorizontal);
     m_scrollView->setBounceable(true);
     m_scrollView->setDelegate(this);
     this->addChild(m_scrollView);
     */
    
    for (int i = 0; i < 5; ++i) {
        CCMenuItemImage *pSvrBtn = CCMenuItemImage::create( "LG_nor.png",
                                                           "LG_nor.png",
                                                           this,
                                                           menu_selector(LoginLayer::option));
        pSvrBtn->setTag(SVRBG_NORMAL + i);
        pSvrBtn->setAnchorPoint(ccp(0, 0));
        pSvrBtn->setPosition(ccp(SCROLLVIEW_OFFSETX + 60 * i, m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY));
        CCMenu* pMenu = CCMenu::create(pSvrBtn, NULL);
        pMenu->setAnchorPoint(ccp(0, 0));
        pMenu->setPosition(ccp(0, 0));
        this->addChild(pMenu);
        /* 服务器名字 */
        CCLabelTTF* svrName = CCLabelTTF::create("", "Arial", 30, CCSizeMake(35, 300), kCCTextAlignmentCenter);
        svrName->setAnchorPoint(ccp(0.5, 0));
        svrName->setColor(ccc3(255, 215, 0));
        svrName->setPosition(ccp(SCROLLVIEW_OFFSETX + 37.0f + 60.0f * i,
                                 m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY + 75.0f));
        this->addChild(svrName, 2, SVR_NAME + i);
        
        /* 选中背景状态 */
        CCSprite* pSvrBtnBg = CCSprite::create("LG_sel.png");
        pSvrBtnBg->setAnchorPoint(ccp(0, 0));
        pSvrBtnBg->setPosition(ccp(SCROLLVIEW_OFFSETX + 60.0f * i,
                                   m_pGameState->getBottomOffset() + SCROLLVIEW_OFFSETY - 10.0f));
        pSvrBtnBg->setVisible(false);
        this->addChild(pSvrBtnBg, 1, SVRBG_SELECT + i);
    }
    
    unsigned int server_id = CCUserDefault::sharedUserDefault()->getIntegerForKey(LOGIN_SERVER_KEY, 0);
    /* 更改服务器名 */
    if (0 == server_id) {
        CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME);
        svrName->setScale(1.1);
        svrName->setString("体验服务器");
        
        CCLabelTTF* svrName1 = (CCLabelTTF*)this->getChildByTag(SVR_NAME+1);
        svrName1->setString("研发服务器");
        
        m_serverid[0] = 0;
        m_serverid[1] = 1;
        
        CCSprite* sp = (CCSprite*)this->getChildByTag(SVRBG_SELECT); /*默认第一个选中*/
        sp->setVisible(true);
        
    } else {
        
        CCLabelTTF* svrName = (CCLabelTTF*)this->getChildByTag(SVR_NAME);
        svrName->setString("体验服务器");
        
        CCLabelTTF* svrName1 = (CCLabelTTF*)this->getChildByTag(SVR_NAME + 1);
        svrName1->setString("研发服务器");
        svrName1->setScale(1.1);
        
        m_serverid[0] = 0;
        m_serverid[1] = 1;
        
        CCSprite* sp1 = (CCSprite*)this->getChildByTag(SVRBG_SELECT + 1);
        sp1->setVisible(true);
    }
    
    /* 登陆框,待改善 */
    // 取出存储的用户 id
    std::string strUserId = CCUserDefault::sharedUserDefault()->getStringForKey(USER_NAME_KEY);
    LoginBox* login = LoginBox::create();
    login->setPosition(ccp(100, 200));
    login->setContent(strUserId);
    addChild(login, 100, LOGIN_ID_TAG);
}