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之协程}一 引子 二 协程介绍 三 Greenlet 四 Gevent介绍 五 Gevent之同步与异步 六 Gevent之应用举例一 七 Gevent之应用举例二
python之协程 阅读目录 一 引子 二 协程介绍 三 Greenlet 四 Gevent介绍 五 Gevent之同步与异步 六 Gevent之应用举例一 七 Gevent之应用举例二 一 引子 本 ...
- window10装机 nvem简介,针对于 联想R720系列
1.nvem格式的硬盘比较新,传统的老毛桃,大白菜,并不能有效使用. 2.对于镜像类 goust类,仍然具备 硬盘兼容性差(对于gpt,MAR,uefi并不够智能)成功率极低,容易丢失一些关键文件,造 ...
- [No000015B]三十分钟说清经济机器是怎样运行的
https://v.qq.com/x/page/z01685nf12f.html
- [No0000C8]英特尔快速存储IRST要不要装
IRST (英特尔快速存储技术)Intel Rapid Storage Technology(简称IRST)又称英特尔快速存储技术. Intel Rapid Start Technolog同样是简称( ...
- 优化网站设计(二):使用CDN
前言 网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议.这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题. 作为通用的原则,雅虎的工程师团队曾经给出过35个 ...
- java mvc spring boot
spring mvchttp://www.cnblogs.com/wcf6676/p/5333352.html 利用mybatis-generator自动生成代码http://www.cnblogs. ...
- [skill][debug][gdb] 使用core dump 进行GDB
core dump 扫盲:https://wiki.archlinux.org/index.php/Core_dump 1. 人为制作 core dump 1.1 实时在线生成core dump. ...
- Flink – CEP NFA
看看Flink cep如何将pattern转换为NFA? 当来了一条event,如果在NFA中执行的? 前面的链路,CEP –> PatternStream –> select –> ...
- Python多线程中阻塞(join)与锁(Lock)的使用误区
参考资料:https://blog.csdn.net/cd_xuyue/article/details/52052893 1使用两个循环分别处理start和join函数.即可实现并发. threads ...
- Linux and Oracle常用目录详解
目录详解 目录 内容 / 根目录,一切从这里开始 /bin 包含系统启动和运行所必需的二进制文件(程序) /boot 包含Linux内核.最初的RAM磁盘映像(系统启动时,驱动程序会用到),以及启动加 ...