Cocos2d-X在SwitchControl使用

Cocos2d-X在SwitchControl使用

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

SwitchControl控制类中的一个开关的发挥了作用似在现实生活中开关

因为控制相对简单,我没有做过多的解释。直接在代码


首先在project文件夹下的Resource文件夹中加入三张图片

Cocos2d-X在SwitchControl使用

Cocos2d-X在SwitchControl使用

Cocos2d-X在SwitchControl使用


在SwitchControl.h加入以下代码

#ifndef   _SwitchControl_H_
#define  _SwitchControl_H_

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

class SwitchControl : public CCLayer 
{
public:
    static CCScene* scene();
	CREATE_FUNC(SwitchControl);
	bool init();
	void switchValueChanged(CCObject*, CCControlEvent);
};

#endif

在SwitchControl.cpp中加入以下代码

#include "SwitchControl.h"

CCScene* SwitchControl::scene()
{
	CCScene* s = CCScene::create();
	SwitchControl* layer = SwitchControl::create();
	s->addChild(layer);
	return s;
}

bool SwitchControl::init()
{ 
    CCLayer::init();

    //得到窗体的大小
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();   

    //设置ControlSwitch控件打开的文字No"
	CCLabelTTF* on = CCLabelTTF::create("ON", "Arial", 16);
	
    //设置ControlSwitch控件关闭时的文字"OFF"
    CCLabelTTF* off = CCLabelTTF::create("OFF", "Arial", 16);
	
    //设置ControlSwitch控件打开的文字的颜色
    on->setColor(ccc3(0, 0, 0));

    //设置ControlSwitch控件关闭时的颜色
	off->setColor(ccc3(0, 0, 0));

    //创建ControlSwitch控件
    CCControlSwitch* control = CCControlSwitch::create(
	    CCSprite::create("switch-mask.png"),
	    CCSprite::create("switch-on.png"),
	    CCSprite::create("switch-off.png"),
	    CCSprite::create("switch-thumb.png"),
	    on,
	    off);

        //加入ControlSwitch控件
        addChild(control);
      
        //设置ControlSwitch控件的位置
        control->setPosition(ccp(winSize.width / 2, winSize.height / 2));

		// 注冊valuechange消息,当valuechange时。调用switchValueChanged函数
		control->addTargetWithActionForControlEvents(this, 
			cccontrol_selector(SwitchControl::switchValueChanged), 
			CCControlEventValueChanged);
		
		return true;
}

void SwitchControl::switchValueChanged(CCObject* sender, CCControlEvent ev)
{
	if (ev == CCControlEventValueChanged)
	{
		CCControlSwitch* control = (CCControlSwitch*)sender;
		if (control->isOn())
		{
			CCLog("Switch if ON");
		}
		else
		{
			CCLog("Swith is Off");
		}
	}
	else
	{
		CCLog("other events");
	}
}

运行结果:

Cocos2d-X在SwitchControl使用

演示效果:

Cocos2d-X在SwitchControl使用



版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117696.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • search的意思(ctx700停产)

    1、实战问题星主,请教一下,我在painless中使用doc的形式访问字段,如if(doc[‘xxx’].value…)报错了,是painless中不允许使用doc吗?我看官方示例和…

    2022年4月10日
  • pycharm安装pandas「建议收藏」

    pycharm安装pandas「建议收藏」在控制台输入pipinstallpandas后出现Requirementalreadysatisfied之后按照下面的步骤安装就可以了。安装完成后importpandas就不会报错了。

    2022年8月25日
  • java中beanutils_java bean

    java中beanutils_java beanBeanUtils<!–原型设计模式:复制属性–> Maven包<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version>

    2022年9月5日
  • 最大矩阵和 leetcode_leetcode有效的括号

    最大矩阵和 leetcode_leetcode有效的括号给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由非负整数组成。矩阵中坐标 (a, b) 的 值 可由对所有满足 0 <= i <= a < m 且 0 <= j <= b < n 的元素 matrix[i][j](下标从 0 开始计数)执行异或运算得到。请你找出 matrix 的所有坐标中第 k 大的值(k 的值从 1 开始计数)。示例 1:输入:matrix = [[5,2],[1,6]], k = 1输出:7解释:坐标 (0,

    2022年8月9日
  • 谷歌chrome运行activeX控件

    谷歌chrome运行activeX控件在谷歌chrome浏览器下,安装IE_Tab_Multi_extension_1_0_0_1控件即可具体操作:将IE_Tab_Multi_extension_1_0_0_1拖入谷歌浏览器然后点击:添加即可谷歌浏览器不能直接用activeX原因:因为Activex是由微软开发,因而目前只支持原生态支持的IE,最新版Edge已经不再支持了。其他浏览器想要支持activex,需要额外做一些设置或安装补丁包,其中谷歌浏览器的话,需要安装IE-Tab-Multi控件IE_Tab_Multi_exte

    2022年5月14日
  • pycharm把py文件改为exe文件_怎么把python程序打包成可执行文件

    pycharm把py文件改为exe文件_怎么把python程序打包成可执行文件1.安装pyinstraller工具2.在PyCharm最下方找到终端,在终端输入pyinstaller-F–onefilexxx.py

    2022年8月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号