Exemplo n.º 1
0
bool MapControlLayer::init()
{
    if ( !CCLayerColor::init() )
    {
        return false;
    }
    
    removeAllChildrenWithCleanup(true);
    
    CCSize screenSize = GameParams::getInstanse()->screenSize;
    sizeHeight = 200;
    showed = false;
    layersCnt_ = 0;
    
    m_bTouchEnabled = true;
    
    CCLabelTTF * mapLabel = CCLabelTTF::create("Карта", "Marker Felt", 22);
    mapLabel->setAnchorPoint(ccp(0,1));
    mapLabel->setPosition(ccp(25,sizeHeight-5));
    
    CCLabelTTF * layers = CCLabelTTF::create("Слои", "Marker Felt", 18);
    layers->setAnchorPoint(ccp(0,1));
    layers->setPosition(ccp(25,sizeHeight-35));
    
    CCMenuItemLabel* layersPlus = CCMenuItemLabel::create(CCLabelTTF::create("+", "Marker Felt", 18),this,menu_selector(MapControlLayer::plusLayers));
    layersPlus->setAnchorPoint(ccp(0,1));
    layersPlus->setPosition(ccp(135,sizeHeight-35));
    
    CCMenuItemLabel* layersMinus = CCMenuItemLabel::create(CCLabelTTF::create("-", "Marker Felt", 18),this,menu_selector(MapControlLayer::minusLayers));
    layersMinus->setAnchorPoint(ccp(0,1));
    layersMinus->setPosition(ccp(95,sizeHeight-35));
    
    layersCnt = CCLabelTTF::create("1", "Marker Felt", 18);
    layersCnt->setAnchorPoint(ccp(0,1));
    layersCnt->setPosition(ccp(110,sizeHeight-35));
    
    
    CCLabelTTF * tileset = CCLabelTTF::create("Тайлсет", "Marker Felt", 18);
    tileset->setAnchorPoint(ccp(0,1));
    tileset->setPosition(ccp(25,sizeHeight-65));
    
    CCMenuItemLabel* tilesetPlus = CCMenuItemLabel::create(CCLabelTTF::create("+", "Marker Felt", 18),this,menu_selector(MapControlLayer::plusTileset));
    tilesetPlus->setAnchorPoint(ccp(0,1));
    tilesetPlus->setPosition(ccp(135,sizeHeight-65));
    
    CCMenuItemLabel* tilesetMinus = CCMenuItemLabel::create(CCLabelTTF::create("-", "Marker Felt", 18),this,menu_selector(MapControlLayer::minusTileset));
    tilesetMinus->setAnchorPoint(ccp(0,1));
    tilesetMinus->setPosition(ccp(95,sizeHeight-65));
    
    tilesetCnt = CCLabelTTF::create("1", "Marker Felt", 18);
    tilesetCnt->setAnchorPoint(ccp(0,1));
    tilesetCnt->setPosition(ccp(110,sizeHeight-65));
    
    
    
    CCMenuItemLabel* SaveMap = CCMenuItemLabel::create(CCLabelTTF::create("Сохранить!", "Marker Felt", 22),this,menu_selector(MapControlLayer::SaveMap));
    SaveMap->setColor(ccc3(20, 200, 20));
    SaveMap->setAnchorPoint(ccp(0,1));
    SaveMap->setPosition(ccp(35,sizeHeight-95));
    
    CCMenuItemLabel* closeMap = CCMenuItemLabel::create(CCLabelTTF::create("Закрыть", "Marker Felt", 22),this,menu_selector(MapControlLayer::CloseMap));
    closeMap->setColor(ccc3(20, 20, 200));
    closeMap->setAnchorPoint(ccp(0,1));
    closeMap->setPosition(ccp(35,sizeHeight-125));
    
    CCMenuItemLabel* deleteMap = CCMenuItemLabel::create(CCLabelTTF::create("Удалить", "Marker Felt", 22),this,menu_selector(MapControlLayer::DeleteMap));
    deleteMap->setColor(ccc3(200, 20, 20));
    deleteMap->setAnchorPoint(ccp(0,1));
    deleteMap->setPosition(ccp(35,sizeHeight-155));
    
    setColor(ccc3(144,144,144));
    setOpacity(220);
    
    setContentSize(CCSizeMake(screenSize.width-GameParams::getInstanse()->programLayerWidth,sizeHeight));
    
    arrow = CCMenuItemImage::create("System/down.png", "System/down.png",this, menu_selector(MapControlLayer::showLayer));
    CCMenu * menu = CCMenu::create(arrow, SaveMap, closeMap, deleteMap, layersPlus, layersMinus, tilesetPlus, tilesetMinus, NULL);
    
    arrow->setAnchorPoint(ccp(0.5,1));
    arrow->setPosition(ccp((screenSize.width-GameParams::getInstanse()->programLayerWidth)/2,0));
    
    menu->setPosition(CCPointZero);
    menu->retain();
    addChild(menu,2);
    
    addChild(mapLabel,2);
    addChild(layers,2);
    addChild(tileset,2);
    
    addChild(layersCnt,2);
    addChild(tilesetCnt,2);
    
    // robots
    
    robotsPrefs = RobotPrefsScrolLayer::getInstanse();
    robotsPrefs->setContentSize(CCSizeMake(screenSize.width-GameParams::getInstanse()->programLayerWidth - 200,sizeHeight));
    robotsPrefs->setPosition(ccp(200,0));
    robotsPrefs->frame = CCRectMake(200, 0, screenSize.width-GameParams::getInstanse()->programLayerWidth - 200, sizeHeight);
    
//    Robot4Edit * robot4Edit = Robot4Edit::create();
//    robot4Edit->setAnchorPoint(ccp(0,0));
//    robot4Edit->setPosition(0,sizeHeight);
    
//    CCLabelTTF * scroll = CCLabelTTF::create("Скрол типо", "Marker Felt", 18);
//    scroll->setAnchorPoint(ccp(0,1));
//    scroll->setPosition(ccp(50,50));
//    robotsPrefs->addChild(robot4Edit);
//
    addChild(robotsPrefs,0);
//    addChild(robot4Edit,0);
    
    return true;
}
Exemplo n.º 2
0
ControlLayer::ControlLayer( LayerSwitcher* pLayerSwitcher,MapControl* pControl )
{
	m_pLayerSwitcher = pLayerSwitcher;
	m_pControl = pControl;

	do 
	{
		//////////////////////////////////////////////////////////////////////////
		// super init first
		//////////////////////////////////////////////////////////////////////////

		CC_BREAK_IF(! CCLayer::init());

		//////////////////////////////////////////////////////////////////////////
		// add your codes below...
		//////////////////////////////////////////////////////////////////////////

		// 1. Add a menu item with "X" image, which is clicked to quit the program.

		// Create a "close" menu item with close icon, it's an auto release object.
		CCMenuItemImage *pZoomIn = CCMenuItemImage::create(
			"zoomin.png",
			"zoomin.png",
			this,
			menu_selector(ControlLayer::zoomIn));
		CC_BREAK_IF(! pZoomIn);

		// Place the menu item bottom-right conner.
		pZoomIn->setPosition(ccp(25, 25));

		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu = CCMenu::create(pZoomIn, NULL);
		pMenu->setPosition(CCPointZero);
		CC_BREAK_IF(! pMenu);

		// Add the menu to HelloWorld layer as a child layer.
		this->addChild(pMenu, 1,1);

		// Create a "close" menu item with close icon, it's an auto release object.
		CCMenuItemImage *pZoomOut = CCMenuItemImage::create(
			"zoomout.png",
			"zoomout.png",
			this,
			menu_selector(ControlLayer::zoomOut));
		CC_BREAK_IF(! pZoomOut);

		// Place the menu item bottom-right conner.
		pZoomOut->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 25, 25));

		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu2 = CCMenu::create(pZoomOut, NULL);
		pMenu2->setPosition(CCPointZero);
		CC_BREAK_IF(! pMenu2);

		this->addChild(pMenu2,2,2);

		// Create a "close" menu item with close icon, it's an auto release object.
		CCMenuItemImage *pLayerSwitch = CCMenuItemImage::create(
			"r_overlays.png",
			"r_overlays.png",
			this,
			menu_selector(ControlLayer::layerswitch));
		CC_BREAK_IF(! pLayerSwitch);

		// Place the menu item bottom-right conner.
		pLayerSwitch->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width/2, CCDirector::sharedDirector()->getWinSize().height-25));

		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu3 = CCMenu::create(pLayerSwitch, NULL);
		pMenu3->setPosition(CCPointZero);
		CC_BREAK_IF(! pMenu3);

		// Add the menu to HelloWorld layer as a child layer.
		this->addChild(pMenu3, 3,3);

		m_ScaleList.reserve(19);
		for (int i=0;i<19;++i)
		{
			CCString str;
			str.initWithFormat("scale%d.png",i+1);
			CCMenuItemImage *pScaleItem = CCMenuItemImage::create(str.getCString(),str.getCString());
			CC_BREAK_IF(! pScaleItem);

			// Place the menu item bottom-right conner.
			pScaleItem->setPosition(ccp(100, 35));

			// Create a menu with the "close" menu item, it's an auto release object.
			CCMenu* pScaleMenu = CCMenu::create(pScaleItem, NULL);
			pScaleMenu->setPosition(CCPointZero);
			pScaleMenu->retain();
			m_ScaleList.push_back(pScaleMenu);
		}

		int zoom = pControl->getZoomLevel();

		addChild(m_ScaleList[zoom-1],4,4);
	} while (0);
}