博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[cocos2d-js]长按按钮事件
阅读量:6499 次
发布时间:2019-06-24

本文共 2099 字,大约阅读时间需要 6 分钟。

定义两个全局变量

var bLeftButtonClick = false;var bRightButtonClick = false;var MainLayer = cc.Layer.extend({

 

监听事件

var sprite1 = cc.Sprite.create(res.btn_left_up);        sprite1.setPosition(size.width/2 - 80, size.height/2 + 80);        this.addChild(sprite1, 10);        var sprite2 = cc.Sprite.create(res.btn_right_up);        sprite2.setPosition(size.width/2, size.height/2);        this.addChild(sprite2, 20);        // 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(0, 0, 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);        }    },

 

转载于:https://www.cnblogs.com/linn/p/3658140.html

你可能感兴趣的文章
基础篇9-python基本数据结构-列表
查看>>
PHP学习笔记 第八讲 Mysql.简介和创建新的数据库
查看>>
【git】git入门之把自己的项目上传到github
查看>>
js获取鼠标位置
查看>>
2016.8.11 DataTable合并及排除重复方法
查看>>
php 魔术方法 说明
查看>>
Mysql
查看>>
POJ-1860-Currency Exchange
查看>>
跨越企业的“中等收入陷阱”
查看>>
Android 开发者必知的开发资源
查看>>
jackson 常见问题
查看>>
软件工程技术基础-(软件复用技术)
查看>>
给django视图类添加装饰器
查看>>
.vimrc文件
查看>>
DVWA默认用户名密码
查看>>
简述 clearfix 的原理
查看>>
【Project Euler】530 GCD of Divisors 莫比乌斯反演
查看>>
luogu P1280 尼克的任务 序列DP
查看>>
Android 实时文件夹
查看>>
获取文件最后修改时间的VC代码
查看>>