记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单;
就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的毫秒差,第一次点击的时候直接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 获取当前系统时间(解决屏幕双击点击事件)的更多相关文章

  1. js获取当前系统时间

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年份 ...

  2. js 获取当前系统时间

    Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear(); //获取当前年份(2位)myDate.getFullYear(); //获取完整的年 ...

  3. 小程序,用js获取当前系统时间并显示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. js 获取当前的时间

    第一个小程序,用js获取当前的时间,,比较特殊的是 月是从0开始算的,显示的时候要加1,获取日用getDate(),获取周 getDay(), 直接上代码 <!DOCTYPE html> ...

  5. JAVA中获取当前系统时间及格式转换

    JAVA中获取当前系统时间   一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...

  6. Java 获取当前系统时间方法比较

    转载: http://blog.csdn.net/zzjjiandan/article/details/8372617 一. 获取当前系统时间和日期并格式化输出: import java.util.D ...

  7. JAVA中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStrin ...

  8. LR中获取当前系统时间方法

    方法一:使用loadrunner的参数化获取当前时间使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择.步骤:1.将复制给aa的值参数化2.选中abc,使用右 ...

  9. 关于Java中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

随机推荐

  1. 阿里云不同账号之间相同地域的VPC网络互访

    今天实际操作了一下,在这篇随笔中记录一下以备忘,主要参考阿里云帮助文档-不同账号下专有网络内网互通. 实现场景:账号A的VPC网络中的ECS访问账号B的VPC网络中的ECS与RDS(地域都在华东1), ...

  2. synchronized 同步代码块,售票问题

    package cn.ljs.FristSync; public class SalerDemo extends Thread { static int tickets = 1000; String ...

  3. [No0000146]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈3/4

    前言   虽然在.Net Framework 中我们不必考虑内在管理和垃圾回收(GC),但是为了优化应用程序性能我们始终需要了解内存管理和垃圾回收(GC).另外,了解内存管理可以帮助我们理解在每一个程 ...

  4. JavaScript中的Array类型详解

    与其他语言中的数组的区别: 1.JavaScript数组的每一项都可以保存任何类型的数据,一个数组的数组元素可以是不同类型的数据. 2.数组的大小是动态调整的,可以随着数据的添加自动的增长. 1.两种 ...

  5. Linux下无法清空回收站

    清空回收站发生错误,直接使用命令 sudo rm -rf ~/.local/share/Trash/files/* 搞定

  6. php测试for/while/foreach循环速度对比

    对比代码先行贴上,有疑问或者有不同见解的希望可以提出,大家共同进步: //-------------------------------------$k=0;$checkTime = ['for'=& ...

  7. DateTimePicker用法

    将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 , 将kind设置为dtkTime即可,可以在每次Form onShow时将Dat ...

  8. 搭建Kubernetes服务集群遇到的问题

    kube-proxy问题: Apr 12 09:42:49 compute1 kube-proxy[12965]: E0412 09:42:49.602342 12965 reflector.go:2 ...

  9. 20165225《Java程序设计》第三周学习总结

    20165225<Java程序设计>第三周学习总结 1.视频与课本中的学习: 遇到的问题: 问题如下,无法编译. 最后经同学点出要放在同一个打包的文件夹里,于是就运行成功了,下面是4_15 ...

  10. Java+Selenium 如何参数化验证Table表格数据

    场景: 当我们编写脚本时候,需要验证某个表格某一列数据,或者多个列数据. 如果每验证一个就写一个方法,实在是太费事, 因此我们需要有参数化的思想,把某列数据看成固定的元素,然后去验证即可. 1. 示例 ...