(cocos2d-js游戏)測试你的反应速度----------基本逻辑(上)
2024-10-01 21:04:38
游戏玩法:点击開始游戏。等待一个随机时间。然后背景颜色会变(在t1时刻),这时候你须要点击屏幕(在t2时刻),游戏结束。你的反应时间就是天t2-t1。
游戏逻辑:
游戏逻辑非常easy,如上图所看到的。
一共同拥有五个界面,其有用五张图片就能够取代
主要代码:
var MainLayer = cc.LayerColor.extend({
init:function()
{
//初始化界面
//0:点击開始界面 1:表示等待界面,2:表示在点击界面 3:结果界面 4:Too soon界面
this.flag = 0;
this._super();
this.size = cc.Director.getInstance().getWinSize();
this.setColor(cc.c4(180,170,160,255));
this.showToStart(); //可触摸
this.setTouchEnabled(true);
}, /////////////////////////////////////////////////
//处理触摸事件
/////////////////////////////////////////////////
onTouchesEnded:function(touches,event)
{ },
onTouchesBegan:function(touches,event)
{
cc.log("onTouchsBegan",this.flag);
switch(this.flag)
{
case 0:this.showWaite();break;
case 1:this.showToSoon();break;
case 2:this.showResult();break;
case 3:this.showWaite();break;
case 4:this.showWaite();break;
} },
//显示点击開始界面
showToStart:function()
{
this.sprite = cc.Sprite.create(s_ClickToStart);
this.sprite.setPosition(this.size.width/2,this.size.height/2);
this.addChild(this.sprite,1);
this.flag = 0; }, //显示等待界面
showWaite:function()
{
cc.log("showWaite");
this.removeAllChildren();//清除全部控件
this.unscheduleAllCallbacks();//清除定时器
this.sprite = cc.Sprite.create(s_WaiteForGreen);
this.sprite.setPosition(this.size.width/2,this.size.height/2);
this.addChild(this.sprite,1);
this.anim = cc.Sprite.create(s_WaiteForGreenAnim)
this.anim.setPosition(this.size.width/2,this.size.height/2+200);
this.addChild(this.anim,1);
var action = cc.Sequence.create(cc.FadeOut.create(1.0),cc.FadeIn.create(1.0));
var rep = cc.RepeatForever.create(action);
this.anim.runAction(rep);
this.flag = 1;
//输出1-10的随机数
randomTime = Math.floor(Math.random()*10+1);
this.schedule(this.showGreen,randomTime,1,0); //加入定时器
cc.log("randomTime",randomTime);
},
//显示点击的页面
showGreen:function()
{
cc.log("showGreen");
this.sprite = cc.Sprite.create(s_Click);
this.sprite.setPosition(this.size.width/2,this.size.height/2);
this.addChild(this.sprite,1);
this.flag = 2;
this.date1 = new Date();//颜色变化后。记录一个时间
}, showToSoon:function()
{
cc.log("showToSoon");
this.unscheduleAllCallbacks();
this.sprite = cc.Sprite.create(s_TooSoon);
this.sprite.setPosition(this.size.width/2,this.size.height/2);
this.addChild(this.sprite,1);
this.flag = 3;
},
//显示结果界面
showResult:function()
{
this.unscheduleAllCallbacks();
this.date2 = new Date();//记录点击时间
time = this.date2.getTime() - this.date1.getTime();
this.sprite = cc.Sprite.create(s_Result);
this.sprite.setPosition(this.size.width/2,this.size.height/2);
this.addChild(this.sprite,1);
cc.log("showResult",time);
this.timeLabel = cc.LabelTTF.create(time+"ms","Arial",70);
this.timeLabel.setColor(255,255,255);
this.timeLabel.setPosition(this.size.width/2,this.size.height/2)
this.addChild(this.timeLabel,1);
this.flag = 4;
}
}); ///////////////////////////////////////////////////
var MainScene = cc.Scene.extend({
onEnter:function(){
this._super();
var layer = new MainLayer();
layer.init()
this.addChild(layer);
}
});
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvc3Rlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaWxvc3Rlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
最新文章
- Win7配置Go环境
- IOS项目删除Git
- length prototype 函数function的属性,以及构造函数
- JZ2440开发笔记(5)——通过按键点亮LED
- [Android] AudioTrack::start
- 详解Java反射各种应用
- ubuntu mysql编码设置5.5以后
- OC字符串的常用方法
- sharepoint 自定义字段实现省市联动
- Java IO(2)阻塞式输入输出(BIO)的字节流与字符流
- Android群英传笔记——第七章:Android动画机制和使用技巧
- 004dayPython学习输入并输出用户名和密码
- 【tomcat】Web环境(tomcat)下新增一个访问路径(虚拟路径)
- Page13:跟踪问题、最优控制[Linear System Theory]
- 数据库——MySQL及安装
- Can't find kernel text map area from kcore
- Codefores 1151E Number of Components
- 超级简单!80行代码实现Google日历(拖放、移动、AJAX)
- 20145313Java第五次实验
- python学习,day1作业:设计一个三级菜单
热门文章
- Aizu - 2564 Tree Reconstruction 并查集
- JavaScript 与Document
- MVC:一个View显示多个Model(多个Model你可以使用ViewBag或ViewData , 或者:Model[";myInfo";] as)
- RMQ算法 以及UVA 11235 Frequent Values(RMQ)
- 联想M4600 (110主板),安装正版win7 ,进入桌面后鼠标无法使用
- Laravel 框架指定路由关闭 csrf
- Felx之菜单导航
- C#实现窗口拖动时各个控件同比自己主动放缩大小
- Toeplitz matrix 与 Circulant matrix
- Android Studio 中 gradle 构建 堆栈空间不足