void ZhuantiInfo::loadIcon(){ int startX = 200; int colNum = 1; int w = 200; int h = 300; int num = vecIconInfo.size(); tileLayer = MyScrollview::create(); tileLayer->setTouchType(MyScrollview::LEFT_RIGHT); tileLayer->setAnchorPoint(ccp(0,0)); tileLayer->setShowRect(startX,0,Globe::SW-startX,Globe::SH); tileLayer->setEveroneSize(CCSize(w,h)); tileLayer->setWH(num*w,h); for(int i = 0;i<num;i++){ string id = Globe::replaceStr(vecIconInfo[i].appid); MySprite *icon = MySprite::create("screens/public/laoding.png"); if(i==num/2){ icon->setDefaultFocus(true,this); } icon->setAddMode(2); icon->setOpacity(0); float x = w/2+i*w; icon->setPosition(ccp(x,240)); icon->setAppId(id); icon->setName(vecIconInfo[i].name); icon->setSelectScale(1.1); icon->setFather(tileLayer); int faW = 180; int faH = 265; float scanX = faW/icon->getContentSize().width; float scanY = faH/icon->getContentSize().height; icon->setScaleX(scanX); icon->setScaleY(scanY); icon->setFactRect(CCRectMake(icon->getPositionX()-faW/2, icon->getPositionY()-faH/2,faW,faH)); icon->getImageFromUrl(vecIconInfo[i].url,Globe::zhuantiDetailSavaPaht+"/"+id); vecDownLoadSprite.push_back(icon); addMySprite(icon); tileLayer->addChild(icon); vectiles.push_back(icon); } int offsetX = Globe::SW/2-(vectiles[0]->rect.origin.x+vectiles[0]->rect.size.width/2+(num-1)*w/2); if(tileLayerX!=0){ tileLayer->setPosition(ccp(tileLayerX,0)); }else{ tileLayer->setPosition(ccp(offsetX,0)); } if(index>num-1){//回到上次的焦点 index = num-1; } if(index>0){//回到上次的焦点 changeFocus(vectiles[index]); } this->addChild(tileLayer,10); }
void MainLayer::changeFocus(EventKeyboard::KeyCode keyCode) { if (_isFocusNotOnTab) doFocusChange(keyCode); else { if (keyCode == EventKeyboard::KeyCode::KEY_DPAD_UP) return; int index = _pageView->getCurPageIndex(); switch (keyCode) { case EventKeyboard::KeyCode::KEY_DPAD_RIGHT: { index++; if (index >= PAGE_COUNT) return; index = index == MAIN_PAGE_PLUS ? index + 1 : index; changeTab(index); } break; case EventKeyboard::KeyCode::KEY_DPAD_LEFT: { index--; if (index < 0) return; index = index == MAIN_PAGE_PLUS ? MAIN_PAGE : index; changeTab(index); } break; case EventKeyboard::KeyCode::KEY_DPAD_DOWN: { _isFocusNotOnTab = true; getCurTabBtn()->setScale(1.0f); changeFocus(keyCode); } break; default: break; } } //_navi_Scelect->setVisible(!_isFocusNotOnTab); }
void UninstallScreen::call(string receive){ Reader reader; Value root; if (reader.parse(receive, root)){ if(root["Result"].asInt()==0){ Reader reader1; Value root1; reader1.parse(root["Description"].asString(),root1); myGames.clear(); for(int i = 0;i<root1.size();i++){ gameInfo info; info.appId = Globe::replaceStr(root1[i]["AppID"].toStyledString()); info.name = root1[i]["Name"].asString(); info.url = root1[i]["Icon"].asString(); info.pkgName = root1[i]["PackageName"].asString(); myGames.push_back(info); } int colNum = 4; int w = 230; int h = 300; int num = myGames.size(); if(num==0){ updateNoGames(); }else{ int linNum = num/colNum+(num%colNum==0?0:1); tileLayer = MyScrollview::create(); tileLayer->setAnchorPoint(ccp(0,0)); tileLayer->setShowRect(0,30,Globe::SW,630); tileLayer->setEveroneSize(CCSize(w,h)); tileLayer->setWH(Globe::SW,linNum*h); if(tileY==0){ tileLayer->setPosition(ccp(0,630)); }else{ tileLayer->setPosition(ccp(0,tileY)); } int faW = 210; int faH = 265; for(int i = 0;i<num;i++){ MySprite *icon = MySprite::create("screens/public/laoding.png"); float x = Globe::SW/2-((float)(colNum-1)/2)*w+(i%colNum)*w-30; int offset = (h - icon->factRect.size.height)/2; int faW = 176; int faH = 225; //лМ╪ссно╥цШвж CCLabelTTF *word1 = CCLabelTTF::create("type","Marker Felt",28); ccColor3B cc3b = {255,255,255}; word1->setAnchorPoint(ccp(0.5,0.5)); word1->setColor(cc3b); word1->setString(myGames[i].name.c_str()); word1->setPosition(ccp(icon->getContentSize().width/2,25)); icon->addChild(word1,2); float scanX = faW/icon->getContentSize().width; float scanY = faH/icon->getContentSize().height; icon->setScaleX(scanX); icon->setScaleY(scanY); icon->setPosition(ccp(x,-offset-icon->factRect.size.height/2-(i/colNum)*h)); icon->setFactRect(CCRectMake(icon->getPositionX()-faW/2, icon->getPositionY()-faH/2,faW,faH)); icon->setPkgName(myGames[i].pkgName); icon->setAddMode(2); icon->setCutY(40); icon->setShowScanXY(0.9,0.9); icon->getImageFromUrl(myGames[i].url,"myGamesIcon/"+myGames[i].appId); vecDownLoadSprite.push_back(icon); icon->setFather(tileLayer); icon->setAppId(myGames[i].appId); icon->setPkgName(myGames[i].pkgName); /*MySprite *temp = MySprite::create("screens/public/laoding.png"); temp->setAddMode(2); float x = Globe::SW/2-((float)(colNum-1)/2)*w+(i%colNum)*w-30; int offset = (h - faH)/2; temp->setPosition(ccp(x,-offset-faH/2-(i/colNum)*h)); temp->setFactRect(CCRectMake(temp->getPositionX()-faW/2, temp->getPositionY()-faH/2,faW,faH)); float scanX = faW/temp->getContentSize().width; float scanY = faH/temp->getContentSize().height; temp->setScaleX(scanX); temp->setScaleY(scanY);*/ addMySprite(icon); tileLayer->addChild(icon); vectiles.push_back(icon); } if(selectIndex==0){ setFocus(vectiles[0]); }else{ int index = 0; if(selectIndex<vectiles.size()){ index = selectIndex; setFocus(vectiles[selectIndex]); }else{ index = vectiles.size()-1; changeFocus(vectiles[index]); } vectiles[index]->setChangeFlag(1); hasSelectFocus = true; int x = vectiles[index]->getPositionX()+tileLayer->getPositionX(); int y = vectiles[index]->getPositionY()+tileLayer->getPositionY(); focus->setPosition(ccp(x,y)); } this->addChild(tileLayer,10); scrollvie = new MyScrollviewThumbnail(tileLayer); scrollvie->setPosition(ccp(1120,650)); scrollvie->setAnchorPoint(ccp(0,1)); this->addChild(scrollvie,110); scrollvie->autorelease(); scrollvie->update(); } } } //CCLog("install:%s",path.c_str()); //string get= Globe::makeJsonString("install",path); //Globe::callJava(get); }