首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
在cocos2d-js实现自动绑定cocostudioUI控件与事件(二)
时间:
2015-02-04 14:39:21
阅读:
181
评论:
0
收藏:
0
[点我收藏+]
标签:
前两天有个刚学习使用cocos2d-js的同事问我,怎么实现一个功能:点击一个按钮UI显示
计
数加1,按住不放UI计数就不停的加。 这个功能不就是个长按事件吗?我给他描述了下实现长按事件的思路:
1. 在控件touchBegan时,使用 一次性定时器scheduleOnce传入touchLong函数,设定1秒后执行。
2. touchLong触发时,开启schedule传入addOnce函数(ui显示计数加1),设定每0.1秒执行一次。
3. 在touchEnded时执行unschedule函数,关闭所有定时器函数。防止长按时间不足时误触发了touchLong事件。
4. touchEnded
同时再执行一次addOnce函数(ui显示计数加1),实现按钮点击时功能。
我提供的思路帮同事把问题解决了,但看看他的客户端代码一点都不漂亮,太多游戏逻辑以外的东西。由此原因我决定让sz.UILoader也同时支持touchLong事件,同时也增加了一些新的功能。
不了解sz.UILoader的请看《
cocos2d-js实现自动绑定cocostudioUI控件与事件
》
一.TouchLong事件
1.事件命名:与其它标准触摸事件一样使用:
前缀 + 控件名 + TouchLong
TouchLong事件默认触发时间为1秒,你可以修改sz.UILoader.DEFAULT_TOUCH_LONG_TIME来设置默认触发时间。
2.你也可以通过uiloader的TouchBegan事件返回一个大于0小于5的数字做为TouchLong的触发时间。
3.TouchLong可以任意使用,不实现TouchBeang\TouchEnded也不影响。
4.TouchLong也可以配合TouchEvent下使用
(TouchEvent为cocos2d标准事件响应函数以type区分是touchBegan/touchMoved/touchEnded, TouchLong不会出现在其中,需要单独定义函数。)
二.绑定手动创建的ccui控件
1.sz.uiloader.widgetFromJsonFile(target, jsonFile)函数同时可以绑定target上的按命名约定的ccui控件。
2.ccui控件需要提前创建并设置名字, addChild到target上。
3.sz.uiloader.widgetFromJsonFile(target) 无需要json文件参数也能使用。
源码地址github:
https://github.com/ShawnZhang2015/UILoader
在cocos2d-js实现自动绑定cocostudioUI控件与事件(二)
标签:
原文地址:http://blog.csdn.net/6346289/article/details/43485757
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!