cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)
记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单;就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的毫秒差,第一次点击的时候直接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 获取当前系统时间(解决屏幕双击点击事件)相关推荐
- js如何获取计算机当前时间,js获取当前系统时间
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. var myDate = new Date(); myDate.getYear( ...
- Js获取当前系统时间,24小时制
Js获取当前系统时间 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); / ...
- js获取当前系统时间
//获得当前时间,刻度为一千分一秒 function showLeftTime(){ var myDate = new Date(); var data = myDate.toLocaleDateSt ...
- js获取当前系统时间并格式化
Date.prototype.Format = function (fmt) {var o = {"M+": this.getMonth() + 1, //月份"d+&q ...
- 微信小程序获取当前系统时间以及判断周几
微信小程序获取当前系统时间以及判断周几 首先获取当前日期 在utils文件加中创建问价util.js function formatTime(date) {var year = date.getFul ...
- java 当前时间戳_通过各种方法 获取当前系统时间、时间戳
php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通. 1.获取当前时间方法date() 很简单,这就是获取时间的方法,格式为:date($format, $time ...
- 用JS获取当前的时间
使用JS获取当前系统的时间 我们知道,JS中的对象分为自定义对象.内置对象和浏览器对象. 其中,内置对象是指JS中自带的一些对象,这些对象供开发者使用,提供一些必要的最基本的功能. 其中,JS最常用的 ...
- html中如何写系统时间,在HTML页面获取当前系统时间
function getCurDate() { var d = new Date(); var week; switch (d.getDay()){ case 1: week="星期一&qu ...
- DataTime获取当前系统时间大全
在c# / ASP.net中我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间 ...
最新文章
- python经典算法小程序-Python爬虫系列之微信小程序逆向某优选爬虫签名算法!厉害...
- python数据比例_知乎人均985?Python爬50W数据,BI做出可视化后,我有了答案
- PHP面试题:使用PHP描述快速排序算法,对象可以是一个数组?
- CodeForces 516E Drazil and His Happy Friends(数学+最短路)
- GCD简介四:挂起,目标指定,信号量
- X命名空间-标记扩展
- pandas—总结(2) 数据读写 (更新中)
- visual studio 图标_知识内容创作者必会:如何一键获取苹果软件图标?
- 5分钟学会马尔科夫模型
- 基坑监测日报模板_静兴项目部工程日报(2020/7/7)
- NXP Zigbee 3.0标准网关开发复盘(JN5169)
- linux 安装 pcre
- 从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》
- 深度学习图像处理目标检测图像分割计算机视觉 10--通用场景图像分割
- android获取通讯录号码,Android跳转到通讯录获取用户名称和手机号码的实现思路...
- Java中按字母顺序对字符串字符进行排序的4种不同方法
- 不到三十行代码,免费看“美剧”
- 2019网易笔试(4-7题)
- 从零开始Android游戏编程(第二版) 目录
- 【python 题练】