[cocos2d-js]长按按钮事件
定义两个全局变量
var bLeftButtonClick = false;
var bRightButtonClick = false; var MainLayer = cc.Layer.extend({
监听事件
var sprite1 = cc.Sprite.create(res.btn_left_up);
sprite1.setPosition(size.width/ - , size.height/ + );
this.addChild(sprite1, );
var sprite2 = cc.Sprite.create(res.btn_right_up);
sprite2.setPosition(size.width/, size.height/);
this.addChild(sprite2, ); // Make sprite1 touchable
var listener1 = cc.EventListener.create({
event: cc.EventListener.TOUCH_ONE_BY_ONE, //TOUCH_ONE_BY_ONE 为单次触摸事件监听器
swallowTouches: true,
onTouchBegan: function (touch, event) {
var target = event.getCurrentTarget(); var locationInNode = target.convertToNodeSpace(touch.getLocation());
var s = target.getContentSize();
var rect = cc.rect(, , s.width, s.height); if (cc.rectContainsPoint(rect, locationInNode)) {
if (target == sprite2) {
bRightButtonClick = true;
} else if (target == sprite1) {
bLeftButtonClick = true;
}
// 需要返回true,否则不会调用后面的onTouchEnded方法
return true;
}
return false;
},
onTouchEnded: function (touch, event) {
var target = event.getCurrentTarget();
if (target == sprite2) {
bRightButtonClick = false;
} else if (target == sprite1) {
bLeftButtonClick = false;
}
}
}); cc.eventManager.addListener(listener1, sprite1);
cc.eventManager.addListener(listener1.clone(), sprite2);
在每帧刷新事件里面处理
// 定时任务
update:function (dt) {
this._ball.update(dt);
this.checkIsCollide();
if (bLeftButtonClick)
{
this._man.runLeft(dt);
}
else if (bRightButtonClick)
{
this._man.runRight(dt);
}
},
[cocos2d-js]长按按钮事件的更多相关文章
- JS调用水晶报表打印翻页按钮事件
默认的水晶报表打印按钮.翻页按钮太小,并且样式不好调整,考虑自己做一个按钮,然后调用水晶报表的按钮事件. 在实际操作中发现可以在.net按钮的服务器端事件中调用翻页方法: CrystalReportV ...
- js监听微信、支付宝返回,后退、上一页按钮事件
$(function(){ pushHistory(); window.addEventListener("popstate", function(e) { alert(" ...
- Node.js 教程 05 - EventEmitter(事件监听/发射器 )
目录: 前言 Node.js事件驱动介绍 Node.js事件 注册并发射自定义Node.js事件 EventEmitter介绍 EventEmitter常用的API error事件 继承EventEm ...
- js onkeypress与onkeydown 事件区别详细说明
keypress只适用于有字符输入的按键 而keyup/keydown包含了Ctrl, Shift之类的情况 Firefox在处理onKeyDown/onKeyPress事件时存在漏洞,恶意网页可能利 ...
- asp.net中用回车代替按钮事件
第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head> <title>测试绑定enter</title ...
- Android中Touch事件分析--解决HorizontalScrollView滑动和按钮事件触发问题
之前写过关于HorizontalScrollView滑动和按钮事件触发问题,但是不能所有的情况,最近几天一直在想这个问题,今天有一个比较好的解决思路,最终应用在项目里面效果也很好,首先说明一下功能: ...
- js监听回车事件
标题通俗的说,也就是绑定当用户按下回车键要执行的事件. 下面,入正题. 第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head& ...
- 原生JS元素怎么取消事件
关于原生JS元素怎么取消事件,有3种方式 常规方法:removeEventListener 案例: <body> <div id="myDIV"> div ...
- js模拟点击事件实现代码
js模拟点击事件实现代码 类型:转载 时间:2012-11-06 在实际的应用开发中,我们会常常用到JS的模事件,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单 ...
随机推荐
- POJ 2524 (简单并查集) Ubiquitous Religions
题意:有编号为1到n的学生,然后有m组调查,每组调查中有a和b,表示该两个学生有同样的宗教信仰,问最多有多少种不同的宗教信仰 简单并查集 //#define LOCAL #include <io ...
- 如何向hadoop集群定时提交一个jar作业?
除了使用Hive,Pig来执行一个MapReduce任务,不需要专门的把项目打成jar包,提交执行,或者定时执行,因为Hive,Pig这些开源框架已经,帮我们自动打包上传了. 而有些时候,我们自己手写 ...
- jquerymobile使用技巧
1)ajax开关(默认jquery以ajax方式加载页面) $.mobile.ajaxEnabled = false; 2)不编译指定标签 $.mobile.page.prototype.option ...
- BZOJ 3631 松鼠的新家
链剖. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- acdream 1681 跳远女王(BFS,暴力)
Problem Description 娜娜觉得钢琴很无趣了,就抛弃了钢琴,继续往前走,前面是一片湖,娜娜想到湖的对岸,可惜娜娜找了好久都没找到小桥和小船,娜娜也发现自己不是神仙,不能像八仙过海一样. ...
- for...else循环
如果for循环完整结束,无break打断循环,那么执行else里面的内容,否则不执行. while True: n = raw_input('>') for x in n: if x == 'f ...
- SeuRain的归来
不知不觉二十载寒窗苦读要结束了,还没有到回顾过去的时候.马上进入研三了,现在要努力加油了.还记得曾经的那个在凌晨两点奋战的宇么?归来吧!
- 国内YUM源收集
1. 企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源镜像站:http://mirrors.163.com/ 阿里云开源站:http://mirrors.aliyu ...
- ORA-10456:cannot open standby database;media recovery session may be in process
http://neeraj-dba.blogspot.com/2011/10/ora-10456-cannot-open-standby-database.html Once while star ...
- 将数据库中的表注册到K2服务中,并封装为Smart Object
转:http://www.cnblogs.com/dannyli/archive/2011/08/15/2139550.html K2 blackpearl项目中经常需要将其他数据中的表注册到K2服务 ...