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增加了系统 ...
随机推荐
- casperjs批量执行多个url
var fs=require("fs"); ////-------sample.js-------// //casperオブジェクトを生成var casper = require( ...
- OS X 10.11:如何完全停用Time Machine。
家里的2010年21.5英寸iMac越来越慢,用HFS+分区的1.5TB外置硬盘进行备份时,100G数据经常两三个小时还不能备份完.Time Machine虽然方便,但效率太低,不得不停用. 1. 要 ...
- 树链刨分(class版)
class版树链剖(刨)分 感谢沙华大佬的赞助 其实没什么太大变化,就是用了几次一顿乱指... CODE: #include<iostream> #include<cstdio> ...
- IdentityServer4结合AspNetCore.Identity实现登录认证踩坑填坑记录
也可以自定义实现,不使用IdentityServer4.AspNetIdentity这个包,当然还要实现其他接口IResourceOwnerPasswordValidator. IProfileSer ...
- 【LOJ】#2109. 「JLOI2015」骗我呢
题解 我深思熟虑许久才算是明白个大概的计数问题吧 先是转化成一个矩形,列一条直线y = x,y = x - (m + 1)我们从(0,0)走到(n + m + 1,m + 1)就是答案 因为我们起始相 ...
- Eclipse添加SVN插件:导入项目+上传项目+更新项目
首先在Eclipse中安装SVN插件,方法同安装Pydev相同 首先点击help,然后点击Install New Software 然后在弹出的窗口中点击Add,再在新弹出的窗口中的url栏输入如下内 ...
- Mysql创建用户并授权以及开启远程访问
Mysql创建用户并授权以及开启远程访问 一.创建用户并授权 1.登录mysql mysql -u root -p 2.创建数据库 create database test;//以创建test ...
- 高能天气——团队Scrum冲刺阶段-Day 7 总结
高能天气--团队Scrum冲刺阶段-Day 7 总结 今日完成任务 于欣月:修改项目说明书,帮助修改应用 余坤澎:进行应用整合的收尾工作 康皓越:进行应用整合的收尾工作 范雯琪:修改项目说明书,完成项 ...
- 017.Zabbix宏介绍
一 宏介绍 Zabbix宏的作用是便于在模板.Items.Trigger中的引用,名称为{$名称},宏的字符范围为:A~Z/0~9/_. 如:net.tcp.service[ssh,{$SSH_POR ...
- Django如何重设Admin密码
如果你忘记了Admin的密码的话,就要用Django shell: python manage.py shell 然后获取你的用户名,并且重设密码: >>>from django.c ...