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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ajax跨域的解决办法_java如何解决跨域问题

    ajax跨域的解决办法_java如何解决跨域问题什么是跨域问题?跨域问题来源于JavaScript的”同源策略”,即只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题。查看浏览器开发者工具Console报错:Failedtoloadhttp://a.a.com:8080/A/FromServlet?userName=123:No‘Access-Control-Allow-Origin’

    2022年8月24日
    3
  • 深度学习 | MATLAB实现一维卷积神经网络convolution1dLayer参数设定

    深度学习 | MATLAB实现一维卷积神经网络convolution1dLayer参数设定深度学习|MATLAB实现一维卷积神经网络convolution1dLayer参数设定

    2022年9月2日
    6
  • JavaScript高级程序设计 第4版(中文高清)扫描版

    JavaScript高级程序设计 第4版(中文高清)扫描版核心ECMAScript文档对象模型DOM浏览器对象模型BOMECMAScript定义语言的基础规定了语言的组成部分:语法、类型、语句、关键字、保留字、操作符、对象

    2022年8月20日
    6
  • pycharn激活码(最新序列号破解)

    pycharn激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    32
  • SpringBoot 自动配置原理[通俗易懂]

    SpringBoot 自动配置原理[通俗易懂]创建项目通过SpringInitialize创建SpringBoot项目而接下来要说的是关于配置文件的事情。关乎配置文件可以参考官方文档。对于配置文件来说到底在配置文件里面可以进行配置那些内容,自动配置的原理又是什么东西呢?自动配置原理在SpringBoot启动的时候加载主配置类,开启了自动配置的功能,通过@EnableAutoConfiguration注解开启自动配置的功能。@Im…

    2022年6月17日
    23
  • css – 样式表

    css – 样式表1.内部样式表:在html页面内部写样式,style标签理论上可以写在任何的位置,当时通常写在head标签内2.行内样式表:在标签内写css样式<pstyle="color:

    2022年7月1日
    26

发表回复

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

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