コード例 #1
0
ファイル: UIPageViewTest.cpp プロジェクト: 1901/cocos2d-x
bool UIPageViewTest::init()
{
    if (UIScene::init())
    {
        CCSize widgetSize = m_pWidget->getSize();
        
        // Add a label in which the dragpanel events will be displayed
        m_pDisplayValueLabel = UILabel::create();
        m_pDisplayValueLabel->setText("Move by horizontal direction");
        m_pDisplayValueLabel->setFontName("Marker Felt");
        m_pDisplayValueLabel->setFontSize(32);
        m_pDisplayValueLabel->setAnchorPoint(ccp(0.5f, -1));
        m_pDisplayValueLabel->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f + m_pDisplayValueLabel->getContentSize().height * 1.5));
        m_pUiLayer->addWidget(m_pDisplayValueLabel);
        
        // Add the black background
        UILabel *alert = UILabel::create();
        alert->setText("PageView");
        alert->setFontName("Marker Felt");
        alert->setFontSize(30);
        alert->setColor(ccc3(159, 168, 176));
        alert->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 3.075));
        m_pUiLayer->addWidget(alert);
        
        UILayout *background = dynamic_cast<UILayout*>(m_pUiLayer->getWidgetByName("background_Panel"));
        
        // Create the page view
        UIPageView* pageView = UIPageView::create();
        pageView->setTouchEnabled(true);
        pageView->setSize(CCSizeMake(240, 130));
        CCSize backgroundSize = background->getContentSize();
        pageView->setPosition(ccp((widgetSize.width - backgroundSize.width) / 2 +
                                  (backgroundSize.width - pageView->getSize().width) / 2,
                                  (widgetSize.height - backgroundSize.height) / 2 +
                                  (backgroundSize.height - pageView->getSize().height) / 2));
        
        for (int i = 0; i < 3; ++i)
        {
            UILayout* layout = UILayout::create();
            layout->setSize(CCSizeMake(240, 130));
            
            UIImageView* imageView = UIImageView::create();
            imageView->setTouchEnabled(true);
            imageView->setScale9Enabled(true);
            imageView->loadTexture("cocosgui/scrollviewbg.png");
            imageView->setSize(CCSizeMake(240, 130));
            imageView->setPosition(ccp(layout->getSize().width / 2, layout->getSize().height / 2));
            layout->addChild(imageView);
            
            UILabel* label = UILabel::create();
            label->setText(CCString::createWithFormat("page %d", (i + 1))->getCString());
            label->setFontName("Marker Felt");
            label->setFontSize(30);
            label->setColor(ccc3(192, 192, 192));
            label->setPosition(ccp(layout->getSize().width / 2, layout->getSize().height / 2));
            layout->addChild(label);
            
            pageView->addPage(layout);
        }        
        pageView->addEventListenerPageView(this, pagevieweventselector(UIPageViewTest::pageViewEvent));
        
        m_pUiLayer->addWidget(pageView);
        
        return true;
    }
    return false;
}
コード例 #2
0
bool SelectMenuView::init()
{
	char tmp[32];
	UILayer::init();

	// background
	UIImageView* background = UIImageView::create();
	background->loadTexture("level_bg.jpg",UI_TEX_TYPE_PLIST);
	background->setAnchorPoint(CCPoint(0,0));
	this->addWidget(background);

	// Beauty Card
	UIPageView* scrollView = UIPageView::create();
	scrollView->setTouchEnabled(true);
	scrollView->setSize( CCSize( GAME_WIDTH, GAME_HEIGHT * 3 / 4 ) );
	scrollView->setPosition(CCPoint( 0, GAME_HEIGHT/8 ));
	scrollView->setName("scrollView");

	UILayout* widgetBeautyCard = (UILayout*)GUIReader::shareReader()->widgetFromJsonFile("BeautyCard.ExportJson");

	for( int i = 0; i < MAX_BEAUTY_NUM; i++ )
	{
		Layout* layout = Layout::create();
		layout->setSize(CCSize(GAME_WIDTH, GAME_HEIGHT * 3 / 4));

		ScrollButton* button = ScrollButton::create();
		button->setSize(CCSize(160,200));

		UILayout* widget = NULL;
		if(i == 0)
		{
			widget = widgetBeautyCard;
		}
		else
		{
			widget =  static_cast<UILayout*>(widgetBeautyCard->clone());
		}

		widget->setAnchorPoint(CCPoint( 0.5f, 0.5f));
		button->setPosition(CCPoint(GAME_WIDTH/2,GAME_HEIGHT* 3 / 8));
		sprintf(tmp,"beautyCard%d",i);
		button->setName(tmp);
		//widget->setPosition( Point( GAME_WIDTH * i, 0 ) );
		button->setTag( i + CARD_TAG );

		button->addChild(widget);
		layout->addChild( button );
		scrollView->addPage( layout );
	}

	//CC_SAFE_DELETE(widgetTree);
	//CC_SAFE_DELETE(jsonDict);
	//CC_SAFE_DELETE_ARRAY(des);

	scrollView->addEventListener(this, pagevieweventselector(SelectMenuView::onPageViewMove));
	this->addWidget( scrollView );
	
	// bottom 
	UIWidget* bottomWidget = (UIWidget*)GUIReader::shareReader()->widgetFromJsonFile("SelectUI.ExportJson");
	bottomWidget->setName("bottomUIWidget");
	this->addWidget( bottomWidget );

	// buttton
	UIButton* button_back = static_cast<UIButton*>( bottomWidget->getChildByName("Button_back") );
	UIButton* button_seal = static_cast<UIButton*>( bottomWidget->getChildByName("Button_seal") );
	button_back->addTouchEventListener(this,toucheventselector(SelectMenuView::onTouchButton));
	button_back->setTouchEnabled(true);
	button_back->setPressedActionEnabled(true);
	button_seal->addTouchEventListener(this,toucheventselector(SelectMenuView::onTouchButton));
	button_seal->setTouchEnabled(true);
	button_seal->setPressedActionEnabled(true);

	// Evil Mask panel
	_panelEvil = (UIWidget*)GUIReader::shareReader()->widgetFromJsonFile("PanelEvil.ExportJson");
	_panelEvil->retain();

	// unlock panel
	_panelUnlock = (UIWidget*)GUIReader::shareReader()->widgetFromJsonFile("PanelSelectLock.ExportJson");
	_panelUnlock->retain();

	return true;
}