记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单;就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的毫秒差,第一次点击的时候直接return,然后进行第二次点击的时候也进行记录,判断两者之间的时间差,进行函数响应,就可以解决了
1 timeUpdate : function() {
2     var t = new Date();
3     var hours = (t.getHours() > 9) ? t.getHours() : ("0" + t.getHours());//获取系统小时(其实并没有什么卵用)
4     var minutes = (t.getMinutes() > 9) ? t.getMinutes() : ("0" + t.getMinutes());//获取系统分钟(也并没有什么卵用)
5   var seconds = (t.getMilliseconds() > 9) ? t.getMilliseconds() : ("0" + t.getMilliseconds());//这个是毫秒(需要用到哦)
6 var str = "" + hours + ":" + minutes+ ":" +seconds;//拼接起来就是时间了
7     this.tfClock.setString(str);
8 },

 
 1 operateMyTile : function(sender, eventType) {//屏幕点击事件函数处理
 2
 3     if(this.unlock) {
 4
 5         if (eventType == ccui.Widget.TOUCH_BEGAN) { //在此处判断,点下触碰生效 Touch_began
 6             this.newSender = sender.clone();
 7             sender.getParent().addChild(this.newSender, 100);
 8             //var ddd=sender.getPosition();
 9             this.newSender.setScale(1.3);
10             this.timeCount ++ ;
11
12             var t = new Date();
13              var hours = (t.getHours() > 9) ? t.getHours() : ("0" + t.getHours());//获取当前系统小时
14             // var minutes = (t.getMinutes() > 9) ? t.getMinutes() : ("0" + t.getMinutes());
15             var seconds = t.getMilliseconds();//其实就这一句就可以了
16             //var str = "" + hours + ":" + minutes+ ":" + seconds;
17
18             this.sender = sender;
19
20             if(sender.seconds != null){
21                 var ints = t.getMilliseconds() - sender.seconds;
22                 if(1000 > ints){//核心判断在这里(我是判断在1秒内点击两次,1000毫秒等于1秒)
23             //这里的函数可以不用看,在这个判断自定义函数即可
24                     var id = this.upTiles.indexOf(sender);
25                     var moveCard = this.cards[id];
26                     gm.NetData.sendPlayMahjong(moveCard);
27                     this.unSend = false;
28                     this.canOut = false;
29                     this.preemptiveOutTile(id, moveCard);
30                     this.moveTileEndCB();
31                     sender.seconds = null;
32                     this.rankTile();
33                     return;
34                 }
35             }
36             sender.seconds = seconds;
37
38             this.myTileOldPos = sender.getPosition();
39
40             var testPos = this.sender.getTouchMovePosition();
41             if (testPos.y > 305) {
42                 cc.log("..........testPos.y = " + testPos.y + " > 305..........");
43             }
44         }
45
46         else if(eventType == ccui.Widget.TOUCH_MOVED) {
47             if(this.sender != null) {
48                 var pos = this.sender.getTouchMovePosition();
49                 var spacePos = this.sender.getParent().convertToNodeSpace(pos);
50                 this.sender.setPosition(spacePos);
51                 this.newSender.setPosition(spacePos);
52
53                 if (this.canOut) {
54                     if (pos.y > 305) {
55                         this.imgOutLine.setVisible(true);
56                     } else {
57                         this.imgOutLine.setVisible(false);
58                     }
59                 }
60             }
61         }
62
63         else {
64             if(this.sender != null) {
65                 cc.log("..........Move Tile End..........");
66
67                 var finalWorldPos = this.sender.getTouchMovePosition();
68                 var finalPos = this.newSender.getPosition();
69                 var id = this.upTiles.indexOf(this.sender);
70                 var moveCard = this.cards[id];
71
72                 var moveNum = id - parseInt((this.myTileOldPos.x - finalPos.x) / 67);
73                 (moveNum < 0) ? (moveNum = 0) : moveNum;
74                 (moveNum > this.cards.length) ? (moveNum = this.cards.length - 1) : moveNum;
75
76                 cc.log("..........canOut = " + this.canOut + "..........");
77                 if (this.canOut && (finalWorldPos.y > 305)) {
78                     cc.log("..........finalWorldPos.y = " + finalWorldPos.y + " > 305..........");
79
80                     gm.NetData.sendPlayMahjong(moveCard);
81                     this.rankTile();
82                     this.unSend = false;
83                     this.canOut = false;
84                     cc.log("..........Send Play..........");
85                     cc.log("..........this.cards = " + this.cards + "..........");
86
87                     this.preemptiveOutTile(id, moveCard);
88                 } else {
89                     if (moveCard != undefined) {
90                         this.cards.splice(id, 1);
91                         this.cards.splice(moveNum, 0, moveCard);
92                     }
93                 }
94
95                 this.moveTileEndCB();
96             }
97         }
98     }
99 },

 

转载于:https://www.cnblogs.com/luorende/p/6628668.html

cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)相关推荐

  1. js如何获取计算机当前时间,js获取当前系统时间

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. var myDate = new Date(); myDate.getYear( ...

  2. Js获取当前系统时间,24小时制

    Js获取当前系统时间 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    / ...

  3. js获取当前系统时间

    //获得当前时间,刻度为一千分一秒 function showLeftTime(){ var myDate = new Date(); var data = myDate.toLocaleDateSt ...

  4. js获取当前系统时间并格式化

    Date.prototype.Format = function (fmt) {var o = {"M+": this.getMonth() + 1, //月份"d+&q ...

  5. 微信小程序获取当前系统时间以及判断周几

    微信小程序获取当前系统时间以及判断周几 首先获取当前日期 在utils文件加中创建问价util.js function formatTime(date) {var year = date.getFul ...

  6. java 当前时间戳_通过各种方法 获取当前系统时间、时间戳

    php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通. 1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $time ...

  7. 用JS获取当前的时间

    使用JS获取当前系统的时间 我们知道,JS中的对象分为自定义对象.内置对象和浏览器对象. 其中,内置对象是指JS中自带的一些对象,这些对象供开发者使用,提供一些必要的最基本的功能. 其中,JS最常用的 ...

  8. html中如何写系统时间,在HTML页面获取当前系统时间

    function getCurDate() { var d = new Date(); var week; switch (d.getDay()){ case 1: week="星期一&qu ...

  9. DataTime获取当前系统时间大全

    在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间 ...

最新文章

  1. python经典算法小程序-Python爬虫系列之微信小程序逆向某优选爬虫签名算法!厉害...
  2. python数据比例_知乎人均985?Python爬50W数据,BI做出可视化后,我有了答案
  3. PHP面试题:使用PHP描述快速排序算法,对象可以是一个数组?
  4. CodeForces 516E Drazil and His Happy Friends(数学+最短路)
  5. GCD简介四:挂起,目标指定,信号量
  6. X命名空间-标记扩展
  7. pandas—总结(2) 数据读写 (更新中)
  8. visual studio 图标_知识内容创作者必会:如何一键获取苹果软件图标?
  9. 5分钟学会马尔科夫模型
  10. 基坑监测日报模板_静兴项目部工程日报(2020/7/7)
  11. NXP Zigbee 3.0标准网关开发复盘(JN5169)
  12. linux 安装 pcre
  13. 从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》
  14. 深度学习图像处理目标检测图像分割计算机视觉 10--通用场景图像分割
  15. android获取通讯录号码,Android跳转到通讯录获取用户名称和手机号码的实现思路...
  16. Java中按字母顺序对字符串字符进行排序的4种不同方法
  17. 不到三十行代码,免费看“美剧”
  18. 2019网易笔试(4-7题)
  19. 从零开始Android游戏编程(第二版) 目录
  20. 【python 题练】

热门文章

  1. [题解]UVA10054 The Necklace
  2. Twitter的应急预案、部署流程
  3. Web 开发人员必备的随机 JSON 数据生成工具
  4. Java多线程编程实战:模拟大量数据同步
  5. 分布式存储fastdfs安装使用
  6. 定时任务 Cron表达式
  7. 跟谁学这2年间做的六件事
  8. mysql 匹配 findinset
  9. 转:C#中Monitor对象与Lock关键字的区别分析
  10. JAVA上传服务器端代码