finger-guessing game:3增加猜拳次数及猜拳按钮显示
增加猜拳次数及猜拳按钮
//初始化引擎组件
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增加猜拳次数及猜拳按钮显示的更多相关文章
- python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)【转】
前言:python统计apache.nginx访问日志IP访问次数并且排序(显示前20条).其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下. apach ...
- 为dedecms文章列表页标题增加序号,第二页开始才显示第x页
想必大伙建站都会写文章,随着时间的推移,你的智慧结晶会越来越多,一般的建站程序早帮你想好了,把这些文章做成一个列表,比如dedecms栏目列表,便于观众浏览,但有个问题就是dedecms文章列表页标题 ...
- 为 Editor.md 编辑器插件增加预览和发布按钮
前言 一直在使用 Editor.md 插件作为博客的编辑器,用着挺好,但是在全屏下编辑时,每次想预览或者保存又必须切换到非全屏状态下才可以点击按钮,用着不舒服,所以花了一点时间在工具栏上增加了预览.保 ...
- 为datagrid、treegrid增加右键表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中
var createGridHeaderContextMenu = function(e, field) { e.preventDefault(); var grid = $(this);/* gri ...
- 文件上传前端操作-增加文件与删除文件按钮(jquery实现)
初始 删除与添加 <!DOCTYPE html> <html> <head> <title></title> <meta charse ...
- PCL点云配准(2)
(1)正态分布变换进行配准(normal Distributions Transform) 介绍关于如何使用正态分布算法来确定两个大型点云之间的刚体变换,正态分布变换算法是一个配准算法,它应用于三维点 ...
- 【第三章】Shell 变量的数值计算
一.算数运算符 shell中常见的算术运算符: shell中常见的算术命令: 1. 整数运算 方法一:expr expr命令就既可以用于整数运算,也可以用于相关字符串长度.匹配等的运算处理: exp ...
- Linux下的Finger指令
Linux finger命令 Linux finger命令可以让使用者查询一些其他使用者的资料.会列出来的资料有: Login Name User Name Home directory Shell ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.4,增加系统设置、最近联系人、群功能(源码)
自从上次版本(GG叽叽V3.2,增加离线消息.离线文件功能)发布后,我个人觉得主要的大功能都实现得差不多了,接下来的几个版本将不断优化GG的细节,提高其可用性.这次版本更新的内容主要是为GG增加了系统 ...
随机推荐
- pymongo创建索引
from database import db db_list = ["table1", "table2", "table3", " ...
- mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg
mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg ...
- IPsec工具之ipsec-tools
Linux从2.6内核开始自带IPsec模块,配合IPsec-Tools,可以实现Linux的IPsec功能. IPsec-Tools包含4个模块 libipsec:PF_KEY实现库 setkey: ...
- (原创)关于viewpager嵌套listview居中显示的问题
今天折腾了半天自定义控件的问题,如下图所示,我们UI设计了一种可以左右滑动的列表,而列表中又包含了listview.而且要居中显示listview 我一看UI,心想简单,不就是根据datas的数目进行 ...
- 【军哥谈CI框架】之CI中集成百度UEditor
Hello,各位亲,新的一周来临啦,很高兴这么快又跟大家伙见面!话说上一回,军哥带大家用JQuery写了一个城市级联菜单的例子 ,不知道亲们学会了多少,是否自己可以独立写出来了呢. 军哥很是期待大家学 ...
- xgboost 实践
xgboost 安装:xgboost:Scalable and Flexible Gradient Boosting github: eXtreme Gradient Boosting 中文教程:可 ...
- 【LOJ】#2110. 「JLOI2015」管道连接
题解 我们先跑一个斯坦纳树出来 斯坦纳树是什么,是一个包含点集里的点联通所需要的最小的价值,显然他们联通的方式必然是一棵树 我们可以设一个状态为\(dis[i][S]\)表示以第i个点为根,点集为\( ...
- 【Java】 大话数据结构(10) 查找算法(1)(顺序、二分、插值、斐波那契查找)
本文根据<大话数据结构>一书,实现了Java版的顺序查找.折半查找.插值查找.斐波那契查找. 注:为与书一致,记录均从下标为1开始. 顺序表查找 顺序查找 顺序查找(Sequential ...
- jQuery的类数组对象结构(转)
原文:http://www.imooc.com/code/3248 为什么是类数组对象呢? 很多人迷惑的jQuery为什么能像数组一样操作,通过对象get方法或者直接通过下标0索引就能转成DOM对象. ...
- IE8及以下浏览器伪数组slice方法兼容处理
前几天同事说数组的slice方法在IE8下有兼容问题,我查阅了MDN,文档里面有提到IE8及以下浏览器中,DOM对象组成的伪数组通过call调用slice方法没有遵循标准行为 我做了个demo在IE8 ...