cocos2d学习之CCControl

[NVME] Controller Configuration Controller Configuration 阅读详情

CCControl是cocos2d组件里面处理触摸和鼠标事件的抽象基类,不能实例化它,只能使用它的子类,比如CCButton.如果你想创建新的组件,必须继承该类。并且,假如你创建了该类的子类,你必须加入CCControlSubclass.h file这个头文件,因为它包含了一些没有对外暴露的方法

CCControl的属性:

@property (nonatomic, assign) CGSize preferredSize//首选(优先)尺寸,组件展示的最优(同时也是最小)的尺寸。如果组件的内容比较大,将会展示一个大的尺寸

@property (nonatomic, assign) CCSizeType preferredSizeType//组件的首选尺寸类型

@property (nonatomic, assign) CGSize maxSize//组件展示的最大尺寸,如果内容比这个尺寸更大,组件的内容将会收缩

@property (nonatomic, assign) CCSizeType maxSizeType//组件的最大尺寸类型

@property (nonatomic, assign) CCControlState state//组件状态,通常设置的状态有enabled,highlighted,selected

@property (nonatomic, assign) BOOL enabled//决定控件是否可用的状态值

@property (nonatomic, assign) BOOL selected//决定控件是否选中的状态值 比如切换按钮的on状态

@property (nonatomic, assign) BOOL highlighted//决定控件是否高亮的状态值 比如按钮的压下去(down)的状态

@property (nonatomic, assign) BOOL continuous//决定控件的值改变是否是连续的,比如一个滑动条组件

@property (nonatomic, readonly) BOOL tracking//只读的属性,在组件跟踪触摸或者鼠标事件时返回true

@property (nonatomic, readonly) BOOL touchInside//只读属性,在触摸或者鼠标事件发生在控件尺寸内部的情况下返回true

@property (nonatomic, copy) void ( ^ ) ( id sender ) block//控件处理动作的回调方法

CCControl的方法

- (void)setTarget:(id)target selector:(SEL)selector//控件触发一个action的时候,调用的方法

- (void)triggerAction//子类使用的一个方法 当组件触发一个action回调方法的时候调用该方法

- (void)stateChanged//子类使用的一个方法  当组件的状态改变的时候调用该方法,它的默认行为是调用needsLayout方法

- (void)needsLayout//子类使用的一个方法 该方法应当在组件需要更新布局的时候调用 它会在下一帧开始的时候强行调用layout方法

- (void)layout//子类使用的一个方法 子类需要覆盖此方法,在此方法里进行控件的布局,比如设置控件位置以及控件尺寸

- (void)setValue:(id)value forKey:(NSString *)key state:(CCControlState)state//子类使用的一个方法 当你的控件有自定义的属性时,通过键值对进行设置你的自定义属性

- (id)valueForKey:(NSString *)key state:(CCControlState)state//子类使用的一个方法 子类需要覆盖此方法 根据键值对获得你自定义的属性

- (void)touchEntered:(UITouch *)touch withEvent:(UIEvent *)event//子类使用的一个方法 当一个触摸进入组件时被调用 默认的,当一个touch down发生在此控件尺寸范围里,该方法被调用。当claimsUserEvents这个属性设置成false的时候,touch发生在此空间之外也会被调用

- (void)touchExited:(UITouch *)touch withEvent:(UIEvent *)event//当触摸从控件移走的时候被调用

- (void)touchUpInside:(UITouch *)touch withEvent:(UIEvent *)event//当一个触摸开始和结束都是在组件尺寸内部的时候被调用

- (void)touchUpInside:(UITouch *)touch withEvent:(UIEvent *)event//当一个触摸开始在控件尺寸内部 结束在控件尺寸外部的时候被调用

以下是鼠标移动相关方法

- (void)mouseDownEntered:(NSEvent *)event//

- (void)mouseDownExited:(NSEvent *)event//

- (void)mouseUpOutside:(NSEvent *)event//

- (void)mouseUpInside:(NSEvent *)event//



这个类用到的很少,除非你自定义一些控件。我相信:cocos2d会提供一些经常用到的控件,我们基本用不着去自定义。呵呵



从末流211到东南软院:一个普通CS学生的保研逆袭全记录(含GPA、竞赛、面试避坑点) 本文详细记录了一位来自末流211院校的CS学生如何通过合理规划和持续努力,成功保研东南大学软件学院的完整历程。文章分享了GPA提升、竞赛策略、夏令营申请和预推免准备等关键环节的实战经验,特别强调了竞赛在弥补科研短板中的重要作用,为普通背景学生提供了可复制的保研逆袭方案。 阅读详情

相关推荐

别再手动搬数据了!用rclone一键同步MinIO到华为云OBS的保姆级教程

本文详细介绍了如何使用rclone工具实现MinIO到华为云OBS的数据迁移,包括环境准备、双端配置、迁移前验证、实战迁移及后期监控等步骤。通过rclone的增量同步、断点续传等功能,确保数据迁移高效安全,特别适合需要跨云存储迁移的用户。

weixin_30839881的博客 523

cocos2dx基础篇(9) 滑块控件CCControlSlider

【3.x】 (1)去掉“CC” (2)对象类CCObject改为Ref (3)CCControlEvent改为强枚举Control::EventType (4)CCControlEventValueChanged改为Control::EventType::VALUE_CHANGED (5)按钮事件回调依旧为cccontr...

diaosong8043的博客 207

芯片Tapeout前GDS Review | Calibre中如何切出gds中指定区域版图?

芯片Tapeout GDS Review 之Calibre中如何切出指定区域版图GDS

weixin_37584728的博客 1784

cocos2d-x 菜鸟学习笔记八(界面控件之CCControl控件)

CCControl控件也是cocos2d-x扩展控件中的一部分,包含了九宫格(nine pacth)按钮、滑动条、开关按钮、电位计按钮、步进器和颜色选择控件,这些也算是常用的控件了,下面是各个控件的使用方法及流程: 1.九宫格按钮 这是一种为了方便不失真缩放而诞生出的简洁型按钮,具体说来就是这种按钮使用的是纹理相对比较规则的图片,然后将图片划分为九个显示区域,在缩放按钮的时候,根据需要将这九个

cyistudio的专栏 9301

TMS320F28388D 学习笔记2 高精度PWM (HRPWM)

HRPWM的学习记录。

whyorwhnt的专栏 9534

深入解析set_clock_groups:异步时钟约束的最佳实践与陷阱规避

本文深入解析了FPGA/芯片设计中set_clock_groups命令在异步时钟约束中的核心作用与最佳实践。文章对比了同步时钟、异步时钟与不重叠时钟的区别,强调了正确使用set_clock_groups避免时序分析陷阱的重要性,并提供了与set_false_path的优先级差异分析及实战规避方法,帮助设计者确保时序收敛与电路可靠性。

weixin_29232121的博客 372

CCControlSwitch 的使用

CCControlSwitch 用来处理开关的控制,比如声音,音效等,它的使用也非常方便,如下所示,从testcpp中抠出来的代码 double layer_width = 50; // Create the switch CCControlSwitch *switchControl = CCControlSwitch::create ( CCSprite::create("switch

9527的专栏 1349

GROMACS+PLUMED联合安装避坑指南:为什么你的plumed patch总是失败?

本文深入解析GROMACS与PLUMED联合安装中补丁失败的常见原因,并提供详细的避坑指南。针对版本兼容性、环境配置和编译选项等关键问题,给出从源码选择、环境搭建到手动合并补丁的完整解决方案,帮助用户成功整合这两个强大的分子动力学工具,实现增强采样模拟。

weixin_29302047的博客 287

Cocos2d-x 3.x基础学习: 按钮控件CCControlButton

按钮类CCControlButton继承于控件类CCControl,控件类CCControl主要向子类提供了一系列的控件触发事件。当子控件触发相关的事件后,就会执行相关的控件事件回调函数。这与之前讲的CCMenu中的菜单按钮回调是类似的。 控件类CCControl主要有三个子类: (1)开关控件CCControlSwitch (2)滑块控件CCControlSlider (3)按钮控件CCControlButton 本节讲的是其子类其中之一:按钮类CCControlButton。 Cocos2d

翻肚鱼儿的博客 589

华为OD机试真题 新系统【优化充电桩调度算法】

华为OD机试 新系统真题【优化充电桩调度算法】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【优化充电桩调度算法】

qq_45776114的博客 752

基于Simulink环境,提供一个关于如何对无人机电源DC-DC变换器进行仿真建模的示例

无人机电源要求:无人机的各个子系统(如电机、传感器、通信模块等)可能需要不同级别的电压供应。重要性稳定性:稳定的电源是保证无人机各部件正常工作的基础。效率:高效的电源管理可以显著增加飞行时间和任务执行能力。挑战多负载适应性:需要能够为不同负载提供合适的电压和电流。动态响应:快速响应负载变化的能力对于维持系统稳定性至关重要。首先明确要模拟的任务内容。设计一个能够在不同负载条件下为无人机提供稳定电压的DC-DC变换器。根据无人机的工作状态调整控制策略以维持最佳性能。

xiaoheshang_123的博客 134

Cocos2d-x学习笔记(十)之 控件类CCControl

  在应用的开发中,无论是Android 操作系统还是iOS 操作系统,其开发框架都提供了控件,包括按键、拖动滑块等,这样提高了开发效率。对于游戏的开发,UI 的开发同样需要控件来提高开发效率。下面我们就来看几个比较常用的UI控件的使用。   1、拖动滑块的控件类CCControlSlider 1 // 定义CCControlSlider实例 2 //参数为图片路径,分别是滑块滑道图...

weixin_30911451的博客 212

机器人多学科仿真软件:Webots_(19).Webots的插件与扩展开发

通过上述步骤,您可以开发和使用Webots的插件、扩展和接口,以增强其功能和灵活性。

kkchenjj的博客 922

cocos2d-x CCControl控件

CCControlSlider 滑动条 void HelloWorld::myInit10() { CCSize size = CCDirector::sharedDirector()->getWinSize(); //CCControlSlider::create(const char* bgFile, const char* progressFile, const

song_hui_xiang 1718

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CCControlExtension/CCControl

#ifndef __CCCONTROL_H__ #define __CCCONTROL_H__ #include "CCInvocation.h" #include "CCControlUtils.h" #include "cocos2d.h" NS_CC_EXT_BEGIN class CCInvocation;

sssssNian的专栏 1025

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Cocos2D-X 2.2.3 UI系统深度解析:从核心原理到实战优化

游戏UI开发的核心在于理解渲染、事件与内存管理的基本原理。现代游戏引擎的UI框架,无论设计得多么高级与便捷,其底层逻辑往往根植于节点树、坐标系统与事件分发这些基础概念。以Cocos2D-X 2.2.3的经典UI系统为例,其架构清晰地体现了“一切皆节点”的设计哲学,通过CCNode、CCMenu、CCControl等核心类,将视觉元素的组织、触摸事件的响应与控件状态的管理融为一体。掌握这套相对原始但直接的API,不仅能帮助开发者高效维护大量现存的**遗留代码库**,更能深刻理解高级UI编辑器背后的运行机制与调

weixin_30340617的博客 350

cocosBuilder生成cbbi文件,绑定到cocos2d-x

今天弄了一天,记录一下。首先是版本。我用的cocosBuilder 3 和 cocos2d-x 2.1.2。亲测cocosBuilder 2和最新版本的cocos2d-x不兼容。报错为WARNING! Incompatible ccbi file version (file: 3 reader: 5)。升级到cocosBuilder 3,XCode与VS2012测试没问题。这套体系的原理是:首先用

阿修罗道 1万+

Cocos2D-x CCControlButton

这篇文章将详细介绍一下,如何使用extension/GUI中提供的CCControlButton,也就是button啦!平常我们用到buton的时候更多的是会想到用CCMenu,但是创建起来相对麻烦,首先要一个menu,然后还要一个menu item,这样用起来实在不爽。使用CCControlButton可以很简约的创建一个button。 下面分步骤介绍一下使用规则吧! 一、首先 #in

小邓笔记 6957

coco2d-x 学习笔记 1 关于CCButton在单点触摸下的无法实现

这几天跟着书的教程学习coco2d-x,其中有一章是制作类似天天酷跑一样的横版的跑酷游戏,当给游戏界面添加完按钮,写完相应的按钮事件之后,发现运行后按钮事件无法触发,遂开始找原因,最后抱着试一试的心态,将原来自己游戏中写的单点触摸改成多点触摸,结果运行成功,后来在网上找原因时明白,单点触摸中的CCTouchBegan函数如果返回的是true的话,只有一个Layer能接收到触摸的输入,其他层都接收不

u013593103的专栏 768

cocos2d 解密ccbi_cocos2d-x lua分支加载ccbi文件

cocos2d-x lua的分支竟然没有提供扩展包里面的类,苦大了我们啊,经过各种尝试摸索,终于OK不完美处就是留下一些使用的潜规则:1、所有的控件名字不得重复(要根据控件名字注册lua的回调方法)2、如果是成员变量名字格式为 空间名-空间类型 比如:second_text-CCLabelTTF3、点击事件的lua回调方法名为 控件名_onClicked 比如:button_onClicked4、...

weixin_39925413的博客 267

【Cocos2d-x】CCControlButton状态按钮的使用

继承关系 #include 类 Control 继承关系图:

2840

Cocos2d-x 游戏开发 - 代码与CocosBuilder绑定

准备工作:新建一个cocosbuilder项目,添加menu,button,labeltext 1.class绑定-先上代码 .h文件 a-在MainScene.h添加新的函数, CCB_STATIC_NEW_AUTORELEASE_OBJECT_WITH_INIT_METHOD(MainScene, create

liliangchw的专栏 6716

Cocos2D-x学习:核心类----CCLayer图层

实现了触屏事件 + 加速传感器事件 一个场景中可以有多个图层(有点像flash的的图层) 图层是方便管理本图层内的点。 布景层的有如下几种子类,完成不同的功能 CCLayerColor 实现 CCRGBAProtocol 协议,可设置层的颜色和不透明度 CCLayerMultiplex 可以将它和子布景层结合在一起 CCMenu 菜单布景层 CCControl UI控件 C

400

CCControlExtension/CCControlHuePicker

w

sssssNian的专栏 801

cocos2d-x解析ccb及绑定到lua

cocos2d-x解析ccb及绑定到lua 分类: cocos2d-x2013-04-21 15:51 541人阅读 评论(0) 收藏 举报 要点一:C++解析ccb主要是这几个文件 CCBReader.h/cpp、CCNodeLoaderLibrary.cpp、CCNodeLoader.h/cpp等  CCBReader文件中的CCBReader::readNod

linuxheik的专栏 1618

cocos2d-x实现cocosbuilder的绑定与菜单按钮功能

在cocosbuilder中新建"MainScene"任意名均可,设置custom class为XJLayer 菜单 按钮CCLABELTTF-> 我新手不会讲解那些知识点,直接写出代码,亲测,网上的大神弄出的东西,不是少这个就少那个不敢恭维。我研究了一周也没弄出来,不知道怎么说他们了,坑爹。先弄出成果然后自己研究吧 //XJLayer.h文件 #ifndef __c

仅此而已的日记本 1874
上一篇: AFNetworking 学习
下一篇: ios8 UITableView设置 setSeparatorInset:UIEdgeInsetsZero不起作用的解决办法
yesjava
博客等级 码龄19年 69粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值