增加猜拳次数及猜拳按钮

//初始化引擎组件
init(50, "div_caiquan", 800, 400, main); //定义游戏层,加载进度层、游戏背景层,结果显示层,出拳操作层
var loadingLayer, backLayer, resultLayer, clickLayer; //定义游戏图片
//定义图片资源加载完成后返回的图片对象
var imglist = {};
//定义图片资源数组
var imgData = new Array( { name: "title", path: "../images/title.png" },
{ name: "shitou", path: "../images/shitou.png" },
{ name: "jiandao", path: "../images/jiandao.png" },
{ name: "bu", path: "../images/bu.png" } );
//定义自己出拳图片,电脑出拳图片
var selfBitMap, enemyBitMap; //定义出拳图片数组
var showList = new Array(); //定义结果显示文字信息 //猜拳次数,胜利次数,失败次数,平局次数文本框
var selfTextAll, selfTextWin, selfTextLoss, selfTextDraw; //胜利次数,失败次数,平局次数初始值
var win = 0, loss = 0, draw = 0; //回调函数
function main() { //创建背景层
backLayer = new LSprite(); //将背景层添加到画布
addChild(backLayer); //创建加载进度层
loadingLayer = new LoadingSample3(); //将加载进度层添加到背景层
backLayer.addChild(loadingLayer); //loadingLayer.setProgress(35); //加载图片资源
LLoadManage.load(
//图片数据数组
imgData,
function (progress) {
//显示加载进度
loadingLayer.setProgress(progress);
},
function (result) { //加载完成
//result可以认为是一个map,资源列表中的资源可以按键获取
imglist = result;
//移除加载进度层
backLayer.removeChild(loadingLayer);
loadingLayer = null;
//游戏初始化
gameInit();
}
);
}; //游戏初始化
function gameInit() { //game begin //构造出拳图片数组
showList.push(new LBitmapData(imglist["shitou"]));
showList.push(new LBitmapData(imglist["jiandao"]));
showList.push(new LBitmapData(imglist["bu"])); //绘制游戏界面背景
backLayer.graphics.drawRect(10, "#008800", [0, 0, LGlobal.width, LGlobal.height], true, "#000000"); //显示游戏标题
var titleBitmap = new LBitmap(new LBitmapData(imglist["title"]));
titleBitmap.x = (LGlobal.width - titleBitmap.width) / 2;
titleBitmap.y = 10;
backLayer.addChild(titleBitmap); //显示玩家出拳图片
selfBitMap = new LBitmap(showList[0]);
selfBitMap.x = 400 - selfBitMap.width - 50;
selfBitMap.y = 130;
backLayer.addChild(selfBitMap); //显示电脑出拳图片
enemyBitMap = new LBitmap(showList[0]);
enemyBitMap.x = 400 + 50;
enemyBitMap.y = 130;
backLayer.addChild(enemyBitMap); //玩家电脑名称设定
var nameText;
nameText = new LTextField();
nameText.text = "玩家";
nameText.weight = "bolder";
nameText.color = "#ffffff";
nameText.size = 24;
nameText.x = selfBitMap.x + (selfBitMap.width - nameText.getWidth()) / 2;
nameText.y = 95;
backLayer.addChild(nameText); nameText = new LTextField();
nameText.text = "电脑";
nameText.weight = "bolder";
nameText.color = "#ffffff";
nameText.size = 24;
nameText.x = enemyBitMap.x + (enemyBitMap.width - nameText.getWidth()) / 2;
nameText.y = 95;
backLayer.addChild(nameText); //结果显示层初始化
initResultLayer(); //操作层初始化
initClickLayer(); }; function initResultLayer() { //创建结果显示层对象
resultLayer = new LSprite(); //绘制结果显示层,使用Sprite的graphic绘图
resultLayer.graphics.drawRect(4, '#ff8800', [0, 0, 150, 110], true, '#ffffff'); //设置结果显示层位置
resultLayer.x = 10;
resultLayer.y = 100; //添加到游戏背景层
backLayer.addChild(resultLayer); //显示猜拳次数
selfTextAll = new LTextField();
selfTextAll.text = "猜拳次数 : 0";
selfTextAll.weight = "bolder";
selfTextAll.x = 10;
selfTextAll.y = 20;
resultLayer.addChild(selfTextAll); //显示胜利次数
selfTextWin = new LTextField();
selfTextWin.text = "胜利次数 : 0";
selfTextWin.weight = "bolder";
selfTextWin.x = 10;
selfTextWin.y = 40;
resultLayer.addChild(selfTextWin); //显示失败次数
selfTextLoss = new LTextField();
selfTextLoss.text = "失败次数 : 0";
selfTextLoss.weight = "bolder";
selfTextLoss.x = 10;
selfTextLoss.y = 60;
resultLayer.addChild(selfTextLoss); //显示平局次数
selfTextDraw = new LTextField();
selfTextDraw.text = "平局次数 : 0";
selfTextDraw.weight = "bolder";
selfTextDraw.x = 10;
selfTextDraw.y = 80;
resultLayer.addChild(selfTextDraw); }; function initClickLayer() { //创建操作层对象
clickLayer = new LSprite(); //绘制操作层,使用Sprite的graphic绘图
clickLayer.graphics.drawRect(4, '#ff8800', [0, 0, 300, 110], true, '#ffffff'); //设置操作层显示坐标
clickLayer.x = 250;
clickLayer.y = 275; //添加到游戏背景层
addChild(clickLayer); //添加“请出拳”文本
var msgText = new LTextField();
msgText.text = "请出拳:";
msgText.weight = "bolder";
msgText.x = 10;
msgText.y = 10;
clickLayer.addChild(msgText); //添加出拳按钮
var btnShitou = getButton("shitou");
btnShitou.x = 30;
btnShitou.y = 35;
clickLayer.addChild(btnShitou); var btnJiandao = getButton("jiandao");
btnJiandao.x = 115;
btnJiandao.y = 35;
clickLayer.addChild(btnJiandao); var btnBu = getButton("bu");
btnBu.x = 200;
btnBu.y = 35;
clickLayer.addChild(btnBu); }; //构造猜拳按钮
function getButton(value) { //LButton类来添加一个按钮,LButton ( upState , overState ,downState ,disableState ) ( 弹起状态,经过状态,按下状态,不可用状态) //LButton 弹起状态
var btnUp = new LBitmap(new LBitmapData(imglist[value]));
//表示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。1.0 等于 100% 缩放。
btnUp.scaleX = 0.5;
btnUp.scaleY = 0.5; //LButton 经过状态
var btnOver = new LBitmap(new LBitmapData(imglist[value]));
//表示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。1.0 等于 100% 缩放。
btnOver.scaleX = 0.5;
btnOver.scaleY = 0.5;
btnOver.x = 2;
btnOver.y = 2; //构造LButton
var btn = new LButton(btnUp, btnOver); btn.name = value; return btn; };

finger-guessing game:3增加猜拳次数及猜拳按钮显示的更多相关文章

  1. python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)【转】

    前言:python统计apache.nginx访问日志IP访问次数并且排序(显示前20条).其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下.   apach ...

  2. 为dedecms文章列表页标题增加序号,第二页开始才显示第x页

    想必大伙建站都会写文章,随着时间的推移,你的智慧结晶会越来越多,一般的建站程序早帮你想好了,把这些文章做成一个列表,比如dedecms栏目列表,便于观众浏览,但有个问题就是dedecms文章列表页标题 ...

  3. 为 Editor.md 编辑器插件增加预览和发布按钮

    前言 一直在使用 Editor.md 插件作为博客的编辑器,用着挺好,但是在全屏下编辑时,每次想预览或者保存又必须切换到非全屏状态下才可以点击按钮,用着不舒服,所以花了一点时间在工具栏上增加了预览.保 ...

  4. 为datagrid、treegrid增加右键表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中

    var createGridHeaderContextMenu = function(e, field) { e.preventDefault(); var grid = $(this);/* gri ...

  5. 文件上传前端操作-增加文件与删除文件按钮(jquery实现)

    初始 删除与添加 <!DOCTYPE html> <html> <head> <title></title> <meta charse ...

  6. PCL点云配准(2)

    (1)正态分布变换进行配准(normal Distributions Transform) 介绍关于如何使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个配准算法,它应用于三维点 ...

  7. 【第三章】Shell 变量的数值计算

    一.算数运算符 shell中常见的算术运算符: shell中常见的算术命令: 1. 整数运算 方法一:expr  expr命令就既可以用于整数运算,也可以用于相关字符串长度.匹配等的运算处理: exp ...

  8. Linux下的Finger指令

    Linux finger命令 Linux finger命令可以让使用者查询一些其他使用者的资料.会列出来的资料有: Login Name User Name Home directory Shell ...

  9. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.4,增加系统设置、最近联系人、群功能(源码)

    自从上次版本(GG叽叽V3.2,增加离线消息.离线文件功能)发布后,我个人觉得主要的大功能都实现得差不多了,接下来的几个版本将不断优化GG的细节,提高其可用性.这次版本更新的内容主要是为GG增加了系统 ...

随机推荐

  1. 错误的理解引起的bug async await 执行顺序

    今天有幸好碰到一个bug,让我知道了之前我对await async 的理解有点偏差. 错误的理解 之前我一直以为  await 后面的表达式,如果是直接返回一个具体的值就不会等待,而是继续执行asyn ...

  2. 读写分离MYSQL类

    2014年4月27日 12:34:08 概述: 1. 根据sql语句判断是连接读库还是写库 2. 链式调用$this->where()->get() 3. 不同的主机对应不同的实例, 不再 ...

  3. Nginx基本配置文件

    Nginx基本配置文件 1. 基本配置文件 /etc/nginx/nginx.conf # nginx运行的用户 user nginx; # nginx进程数,建议设置为等于CPU总核心数. work ...

  4. Java List 转 String

    JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换工具类(调优)https://www.cnblogs.com/cn-wxw/p/6 ...

  5. js字符串驼峰和下划线互相转换

    // 下划线转换驼峰 function toHump(name) { return name.replace(/\_(\w)/g, function(all, letter){ return lett ...

  6. 【LOJ】#2523. 「HAOI2018」奇怪的背包

    题解 复杂度怎么算也要2s的题怎么0.5s就跑完了,迷啊 这个题简直算完复杂度不敢写,写了就赚飞了好吧 根据裴蜀定理,显然选出的数和P的gcd是w的约数 我们考虑枚举\(P\)的约数,上限当然是\(\ ...

  7. Spring中AOP实现

    1.什么是SpringAOP 什么是aop:Aspect Oriented Programming的缩写,面向切面编程,通过预编译和动态代理实现程序功能的 统一维护的一种技术 主要功能:日志记录,性能 ...

  8. VIM中使用S查找并替换

    vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询.:s/vivian/sk ...

  9. 005.SMB之user级别配置

    一 配置文件修改 注意: 1 share级别权限访问即,无需要用户名和密码才能访问. 2 新版samba4已取消share级别,可默认采用user级别. 1.1 全局配置文件修改 [global] w ...

  10. 阿里云Linux服务器,配置JDK,MySQL

    云服务器配置:低配 Linux CentOS 7.4 64位 选择空白镜像: 安装图形界面 yum groups install "MATE Desktop" yum groups ...