void CGroupInfoScene::menuEnterGroupGameRoomCallback(CCObject* pSender) { CCMenuItemImage *pItem = (CCMenuItemImage*)pSender; if( !pItem ) { CCLog("ERROR, item is null"); return ; } CGameRoomInfo *room = (CGameRoomInfo*)pItem->getUserData(); CCLog( "room: %s:%d %d", room->ip.c_str(), room->port, room->roomid ); CGameManager::Instance().SetCurGameRoom( room ); if( CNetManager::Instance().Start( room->ip.c_str(), room->port ) ) { CNetManager::Instance().SetState( CNetManager::E_State_Connecting_GameServer_ByGroup ); CCLog( "++++++ connect to game server" ); // 播放loading动画 CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); cocos2d::CCSprite *pSpriteLoading = CCSprite::create( PATCH_RES_DIR("loading.png") ); float w = (visibleSize.width) / 2; float h = (visibleSize.height) / 2; pSpriteLoading->setPosition( ccp(w, h) ); CCActionInterval *actionBy = CCRotateBy::create( 0.8, 360 ); CCActionInterval *seq = (CCActionInterval*)( CCSequence::create(actionBy, NULL) ); CCAction *act = CCRepeatForever::create( seq ); addChild( pSpriteLoading, 1 ); pSpriteLoading->runAction( act ); } else { CGameManager::Instance().SetCurGameRoom( NULL ); } }