Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}