`
3895177
  • 浏览: 23653 次
社区版块
存档分类
最新评论

CocoGUILIB常用控件例子

 
阅读更多

头文件库的引入:

#include "cocos2d.h"
USING_NS_CC;
#include "cocos-ext.h"
USING_NS_CC_EXT;

 

头文件定义一个变量:

private:
	UILoadingBar* loadingbar;

在CPP里面导入头文件:

#include "CocoGUILIB/System/CocosGUI.h"

  

在init里面:

CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
            "CloseNormal.png",
            "CloseSelected.png",
            this,
            menu_selector(HelloWorld::menuCloseCallback));
        CC_BREAK_IF(! pCloseItem);


        pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));

        CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
        pMenu->setPosition(CCPointZero);
        CC_BREAK_IF(! pMenu);
        this->addChild(pMenu, 1);

		UILayer* ul = UILayer::create();
		ul->setContentSize(ccp(480,320));
		ul->scheduleUpdate();
		this->addChild(ul,100,100);

		UIButton* ub = UIButton::create();
		ub->setTouchEnable(true);
		ub->setPosition(ccp(100,220));
		ub->setTextures("bn.png","bp.png","bn.png");
		ub->setName("button");
		ub->setScale9Enable(true);
		ub->setScale9Size(CCSizeMake(160,80));
		ub->setCapInsets(CCRectZero);
		ub->addReleaseEvent(this,coco_releaseselector(HelloWorld::buttonPress));
		ul->addWidget(ub);

		UITextButton* utb = UITextButton::create();
		utb->setPosition(ccp(230,220));
		utb->setTextures("bn.png","bp.png","bn.png");
		utb->setText("Button");
		utb->setFontName("黑体");
		utb->setTouchEnable(true);
		utb->setName("UITextButton");
		utb->setFontSize(20);
		utb->addReleaseEvent(this,coco_releaseselector(HelloWorld::buttonPress));
		ul->addWidget(utb);


		//背景 背景被选中 勾选 背景不可用  够不可用
		UICheckBox* ucb =UICheckBox::create();
		ucb->setTextures("0.png","2.png","9.png","4.png","5.png");
		ucb->setSelectedState(true);
		/**
		WidgetStateNone = -1,
		WidgetStateNormal,
		WidgetStateSelected,
		WidgetStateDisabled
		**/
		ucb->setPressState(WidgetStateDisabled);
		ucb->setPosition(ccp(324,220));
		ucb->setName("checkbox");
		ucb->setTouchEnable(true);
		ucb->addSelectEvent(this,coco_selectselector(HelloWorld::buttonPress));
		ucb->addUnSelectEvent(this,coco_selectselector(HelloWorld::buttonPress));
		ul->addWidget(ucb);


		UIImageView* uiv = UIImageView::create();
		uiv->setTexture("ccicon.png");
		uiv->setPosition(ccp(400,220));
		uiv->setName("imageview");
		ul->addWidget(uiv);

		UILabel* ulb = UILabel::create();
		ulb->setPosition(ccp(72,100));
		ulb->setText("UILABEL");
		ulb->setFontName("黑体");
		ulb->setFontSize(24);
		ul->addWidget(ulb);

		UITextField* utf = UITextField::create();
		utf->setPosition(ccp(250,100));
		utf->setText("UITextField");
		utf->setFontName("黑体");
		utf->setFontSize(24);
		utf->setPlaceHolder("FUCK YOU");
		utf->setMaxLength(15);
		utf->setMaxLengthEnable(true);
		utf->setTouchEnable(true);
		ul->addWidget(utf);


		UITextArea* uta = UITextArea::create();
		uta->setPosition(ccp(450,100));
		uta->setTextAreaSize(CCSizeMake(200,100));
		uta->setTextColor(255,225,0);
		/************************************************************************/
		/*     kCCTextAlignmentLeft,
		kCCTextAlignmentCenter,
		kCCTextAlignmentRight,                                                                     */
		/************************************************************************/
		uta->setTextHorizontalAlignment(kCCTextAlignmentLeft);
		/************************************************************************/
		/*     kCCVerticalTextAlignmentTop,
		kCCVerticalTextAlignmentCenter,
		kCCVerticalTextAlignmentBottom,                                                                     */
		/************************************************************************/
		uta->setTextVerticalAlignment(kCCVerticalTextAlignmentTop);
		uta->setText("UIText\nArea");
		uta->setFontSize(24);
		uta->setFontName("黑体");
		//uta->set
		ul->addWidget(uta);


		UILabelAtlas* ula = UILabelAtlas::create();
		ula->setPosition(ccp(50,50));
		ula->setProperty("074084","labelatlas.png",17,22,"0");
		ul->addWidget(ula);

		UILoadingBar* ulba = UILoadingBar::create();
		ulba->setTexture("loadingbar.png");
		ulba->setPosition(ccp(250,50));
		//设置朝向
		/************************************************************************/
		/*     LoadingBarTypeLeft,
		LoadingBarTypeRight                                                                     */
		/************************************************************************/
		ulba->setDirection(LoadingBarTypeLeft);
		ulba->setPercent(90);
		ul->addWidget(ulba);
		loadingbar = ulba;


		UISlider* usd = UISlider::create();
		//usd->setBarTextureScale9Enable(true);
		usd->setBarTexture("slidbar.png");
		//usd->setScale9Size(CCSizeMake(160,80));
		//usd->setCapInsets(CCRectZero);
		//usd->setBarLength()
		usd->setSlidBallTextures("s1.png","s2.png","CloseSelected.png");
		usd->setPosition(ccp(250,30));
		usd->setTouchEnable(true);
		usd->addPercentChangedEvent(this,coco_pushselector(HelloWorld::buttonPress));
		ul->addWidget(usd);

 回调函数:

void HelloWorld::buttonPress(CCObject* object)
{
	UIButton* button = dynamic_cast<UIButton*>(object);
	if (button)
	{
		CCLog("name=%s",button->getName());
	}
	UICheckBox* checkbox = dynamic_cast<UICheckBox*>(object);
	if (checkbox)
	{
		CCLog("ischeck=%d",checkbox->getSelectedState());
	}

	UISlider* slider = dynamic_cast<UISlider*>(object);
	if (slider)
	{
		UILayer* uilayer = dynamic_cast<UILayer*>(this->getChildByTag(100));
		if (uilayer)
		{
			if (slider&&loadingbar)
			{
				int p = slider->getPercent();
				loadingbar->setPercent(p);
			}
		}
		

		
		
	}
	
	
}

 

分享到:
评论

相关推荐

    安卓常用控件例子集合

    "安卓常用控件例子集合"是一个专为初学者设计的项目,它整合了Android SDK中常见的UI控件,并提供了示例代码,帮助开发者快速理解和应用这些控件。 1. **TextView**:TextView是显示文本的基本控件,可以用来显示...

    ASP.NET MVC3常用控件例子

    在这个"ASP.NET MVC3常用控件例子"中,我们主要探讨的是如何在MVC3项目中使用一些常见的UI控件,如日期控件、验证机制、树形控件以及下拉框等,以提升用户界面的交互性和功能。 1. **日期控件**:在ASP.NET MVC3中...

    常用控件演示程序

    本"常用控件演示程序"旨在展示并帮助开发者理解如何使用常见的UI控件,如树型控件和列表控件。这些控件在各种软件应用中广泛使用,无论是桌面应用程序还是Web应用,都是提升用户体验的关键组成部分。 1. **树型控件...

    asp常用控件例子,方便你更好地学习控件的使用

    这个压缩包中包含的是ASP常用控件的例子,对于初学者或者需要深入理解控件功能的开发者来说,是一个非常宝贵的资源。下面我们将详细探讨ASP中的常见控件及其使用方法。 1. **文本框(TextBox)** 文本框控件用于...

    ifix40常用控件

    "ifix40常用控件"这个主题,结合提供的标签"控件",我们可以深入探讨一下控件在软件开发中的重要性,以及如何使用特定的控件如MSCOMCT2.OCX。 控件是用户界面(UI)设计的基础,它们提供了与用户交互的方式。在...

    ext基本的控件例子ext基本的控件例子

    ext基本的控件例子ext基本的控件例子ext基本的控件例子ext基本的控件例子ext基本的控件例子

    win7下activex控件例子

    本资料包提供了一个有关在Win7下开发ActiveX控件的例子,包括两种不同的实现方式:MFC(Microsoft Foundation Classes)和ATL(Active Template Library)。 首先,我们来详细了解MFC实现的ActiveX控件。MFC是微软...

    vB常用控件必备知识

    文本框控件用于输入、编辑和显示正文内容,常用属性包括 Text、MaxLength、MultiLine 和 ScrollBars 等。文本框控件的事件包括 Change、KeyPress 和 KeyUp 等。 4. 命令按钮控件 命令按钮控件用于触发事件,例如...

    delphi常用控件属性

    Delphi常用控件属性详解 Delphi作为一款功能强大且广泛应用的开发环境,提供了丰富的控件库,帮助开发者快速构建高效的应用程序。然而,在实际开发过程中,很多开发者可能对控件的属性感到困惑,不知如何正确地使用...

    wpf控件例子

    Grid是最常用的布局,支持行和列的概念,可以方便地调整控件的位置和大小。 **资源和依赖属性**:WPF的资源系统允许你定义可重用的样式、模板和其他元素。依赖属性是WPF中属性系统的关键部分,它支持数据绑定、动画...

    C#第3章常用控件和类的使用

    C#第3章常用控件和类的使用的课件,C#第3章常用控件和类的使用的课件

    C#.NET串口通信控件C#-.NET常用控件C#-串口编程SerialPort控件文档资料(10个).zip

    C#.NET串口通信控件C#_.NET常用控件C#_串口编程SerialPort控件文档资料(10个): 001.C#_SerialPort控件通信详细介绍.pdf 002.C#_串口编程SerialPort控件.doc 003.C#串口通信:MSComm控件使用详解.doc 004.C#_.net...

    vb第7章 常用控件ppt

    vb第7章 常用控件 常用控件4h.ppt

    学习Tree控件的例子

    Tree控件是Windows编程中常用的一种用户界面元素,主要用于展示层次结构的数据,如文件系统、组织结构等。在这个“学习Tree控件的例子”中,我们将深入探讨如何在VC++开发环境中使用Tree控件,并理解与数据库交互的...

    SWING常用控件

    SWING常用控件

    vb课件之常用控件1

    vb课件之常用控件1

    Winfrom常用控件美化自定义

    Winfrom常用控件美化自定义 包含CheckBox,button,任务栏,错误提示弹窗,右下角弹窗,导航栏,panel,图表(折线图,圆饼图),流程控件,温度计类控件,图片轮播,switch开关,进度条,radiobutton美化,加载等待...

    MFC控件例子

    在"MFC控件例子"这个压缩包中,我们可以期待找到一系列关于如何在MFC中使用和操作控件的代码示例。 MFC控件包括常见的窗口元素,如按钮(CButton)、编辑框(CEdit)、列表框(CListBox)、复选框(CCheckBox)、...

    C#WINFORM常用控件大全

    C# WINFORM 常用控件大全 C# WINFORM 是一种基于 Windows 操作系统的图形用户界面(GUI)开发平台,提供了多种控件来帮助开发者快速构建桌面应用程序。下面是 C# WINFORM 中常用的控件大全,包括窗体、标签、文本框...

Global site tag (gtag.js) - Google Analytics