[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的模事件,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单 ...
随机推荐
- 3.cadence创建元器件
1.打开OrCAD Capture 然后可以新建工程,也可以直接建library (打开 后 选择:OrCAD Capture CIS) 背景颜色 Options > Preferences ...
- Enumerable.SequenceEqual
Determines whether two sequences are equal by comparing the elements by using the default equality c ...
- Android findBugs
1.Bug:DM_BOXED_PRIMITIVE_FOR_PARSING "Boxing/unboxing to parse a primitive", A boxed primi ...
- 无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的实例。
--开启导入功能 exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc ...
- 《OD学hive》第五周0723
https://cwiki.apache.org/confluence/display/Hive/LanguageManual 一.创建表 create table student(id int, n ...
- POJ3415 Common Substrings
后缀数组 求长度不小于k的公共子串的个数 代码: #include <stdio.h> #include <string.h> ; int len, len1; int wa[ ...
- 【Todo】Java Queue Stack Vector ArrayList
Java集合框架里存在Queue这个接口,之后有不同类型的队列的实现. 有Stack这个类实现堆栈,其实这个类是通过继承Vector的方式来实现的, Vector和ArrayList的实现方式差不多, ...
- CSS3之边框样式(动画过渡)
简述 CSS3中transition属性定义了过渡,我们可以使用它来辅助我们实现一个边框样式的动画过渡. 简述 transition 定义和用法 语法 实现 效果 源码 transition 定义和用 ...
- Codeforces Round #291 (Div. 2)
A 题意:给出变换规则,单个数字t可以变成9-t,然后给出一个数,问最小能够变成多少. 自己做的时候理解成了不能输出前导0,但是题目的本意是不能有前导0(即最高位不能是0,其余位数按照规则就好) 55 ...
- 我的oracle账号
1580909730@qq.com 密码:G961012gz