cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)
记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单;
就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的毫秒差,第一次点击的时候直接return,
然后进行第二次点击的时候也进行记录,判断两者之间的时间差,进行函数响应,就可以解决了
timeUpdate : function() {
var t = new Date();
var hours = (t.getHours() > 9) ? t.getHours() : ("0" + t.getHours());//获取系统小时(其实并没有什么卵用)
var minutes = (t.getMinutes() > 9) ? t.getMinutes() : ("0" + t.getMinutes());//获取系统分钟(也并没有什么卵用)
var seconds = (t.getMilliseconds() > 9) ? t.getMilliseconds() : ("0" + t.getMilliseconds());//这个是毫秒(需要用到哦)
var str = "" + hours + ":" + minutes+ ":" +seconds;//拼接起来就是时间了
this.tfClock.setString(str);
},
operateMyTile : function(sender, eventType) {//屏幕点击事件函数处理 if(this.unlock) { if (eventType == ccui.Widget.TOUCH_BEGAN) { //在此处判断,点下触碰生效 Touch_began
this.newSender = sender.clone();
sender.getParent().addChild(this.newSender, 100);
//var ddd=sender.getPosition();
this.newSender.setScale(1.3);
this.timeCount ++ ; var t = new Date();
var hours = (t.getHours() > 9) ? t.getHours() : ("0" + t.getHours());//获取当前系统小时
// var minutes = (t.getMinutes() > 9) ? t.getMinutes() : ("0" + t.getMinutes());
var seconds = t.getMilliseconds();//其实就这一句就可以了
//var str = "" + hours + ":" + minutes+ ":" + seconds; this.sender = sender; if(sender.seconds != null){
var ints = t.getMilliseconds() - sender.seconds;
if(1000 > ints){//核心判断在这里(我是判断在1秒内点击两次,1000毫秒等于1秒)
//这里的函数可以不用看,在这个判断自定义函数即可
var id = this.upTiles.indexOf(sender);
var moveCard = this.cards[id];
gm.NetData.sendPlayMahjong(moveCard);
this.unSend = false;
this.canOut = false;
this.preemptiveOutTile(id, moveCard);
this.moveTileEndCB();
sender.seconds = null;
this.rankTile();
return;
}
}
sender.seconds = seconds; this.myTileOldPos = sender.getPosition(); var testPos = this.sender.getTouchMovePosition();
if (testPos.y > 305) {
cc.log("..........testPos.y = " + testPos.y + " > 305..........");
}
} else if(eventType == ccui.Widget.TOUCH_MOVED) {
if(this.sender != null) {
var pos = this.sender.getTouchMovePosition();
var spacePos = this.sender.getParent().convertToNodeSpace(pos);
this.sender.setPosition(spacePos);
this.newSender.setPosition(spacePos); if (this.canOut) {
if (pos.y > 305) {
this.imgOutLine.setVisible(true);
} else {
this.imgOutLine.setVisible(false);
}
}
}
} else {
if(this.sender != null) {
cc.log("..........Move Tile End.........."); var finalWorldPos = this.sender.getTouchMovePosition();
var finalPos = this.newSender.getPosition();
var id = this.upTiles.indexOf(this.sender);
var moveCard = this.cards[id]; var moveNum = id - parseInt((this.myTileOldPos.x - finalPos.x) / 67);
(moveNum < 0) ? (moveNum = 0) : moveNum;
(moveNum > this.cards.length) ? (moveNum = this.cards.length - 1) : moveNum; cc.log("..........canOut = " + this.canOut + "..........");
if (this.canOut && (finalWorldPos.y > 305)) {
cc.log("..........finalWorldPos.y = " + finalWorldPos.y + " > 305.........."); gm.NetData.sendPlayMahjong(moveCard);
this.rankTile();
this.unSend = false;
this.canOut = false;
cc.log("..........Send Play..........");
cc.log("..........this.cards = " + this.cards + ".........."); this.preemptiveOutTile(id, moveCard);
} else {
if (moveCard != undefined) {
this.cards.splice(id, 1);
this.cards.splice(moveNum, 0, moveCard);
}
} this.moveTileEndCB();
}
}
}
},
cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)的更多相关文章
- js获取当前系统时间
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...
- js 获取当前系统时间
Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...
- 小程序,用js获取当前系统时间并显示
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js 获取当前的时间
第一个小程序,用js获取当前的时间,,比较特殊的是 月是从0开始算的,显示的时候要加1,获取日用getDate(),获取周 getDay(), 直接上代码 <!DOCTYPE html> ...
- JAVA中获取当前系统时间及格式转换
JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...
- Java 获取当前系统时间方法比较
转载: http://blog.csdn.net/zzjjiandan/article/details/8372617 一. 获取当前系统时间和日期并格式化输出: import java.util.D ...
- JAVA中获取当前系统时间
一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStrin ...
- LR中获取当前系统时间方法
方法一:使用loadrunner的参数化获取当前时间使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择.步骤:1.将复制给aa的值参数化2.选中abc,使用右 ...
- 关于Java中获取当前系统时间
一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...
随机推荐
- Python学习笔记之--我又开始学习Python了(随时更新)
2019.02.09 更新 Python 学习计划已经开始几天了,跟着一本叫<Django for beginner>的书籍在学习用Django搭建自己的第一个网站,目前已经进行到第三章, ...
- 理解 vm.$nextTick
有同学在看 Vue 官方文档时,对 API 文档中的 Vue.nextTick 和 vm.$nextTick 的作用不太理解. 其实如果看一下深入响应式原理 - vue.js中的有关内容,可能会有所理 ...
- Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?
Docker.微服务日益火热的今天,相信标题上这些名词大家都不陌生.但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东 ...
- [math][mathematica] archlinux 下 mathematica 的安装 (科学计算软件 mathematica/matlab/sagemath)
ONLINE: http://www.wolframalpha.com/ GPL: segamath: http://www.sagemath.org/ famous and not free: ma ...
- AWS学习笔记
VPC :虚拟局域网 EC2 :虚拟机 RDS :关系型数据库的管理平台 ElasticCache: 缓存系统的管理平台 ELB :可伸缩的负载均衡(私有子网中的web服务通过elb暴露到公网中) A ...
- da5_模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- 树和二叉树->其他(待完善)
关于树和二叉树的部分,还有如下三个知识点,待以后时间更充裕的时候再回头完善. 1 树与等价问题 文字描述 关于等价关系和等价类的定义,在离散数学上的描述有点拗口, 其实在数据结构中,这部分相关的主要是 ...
- Java之旅_面向对象_接口
参考摘自:http://www.runoob.com/java/java-interfaces.html 接口(interface)在Java中是一个抽象类型,是抽象方法的集合. 一个类通过imple ...
- webpack中loader和plugin的概念理解
对于 loader ,它就是一个转换器,将A文件进行编译形成B文件,这里操作的是文件,比如将 A.scss 或 A.less 转变成 B.css,单纯的文件转换过程: 对于 plugin,它就是一个扩 ...
- oracle中,将两个select语句的结果作为一个整体显示出来
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来.union和union ...