layabox 1 基础
屏幕适配:

相对于父容器的位置:

九宫格:

删除自己:

加载资源(没打包的和打包的):

按钮:

锤子跟随鼠标移动:

执行动画:
继承后的,调用一下就可以了
鼠标:
设置图片中心:

组件赋值:


module ui {
export class GameUI extends View {
public timeBar:Laya.ProgressBar;
public scoreNums:Laya.Box;

回调函数执行:
var hitCallBackHd:Laya.Handler = Laya.Handler.create(this,this.setScore,null,false);
for(var i:number=0;i<this.moleNum;i++){
var box:Laya.Box = this.getChildByName("item"+i) as Laya.Box;
var mole:Mole = new Mole(box.getChildByName("normal") as Laya.Image,
box.getChildByName("hit") as Laya.Image ,
box.getChildByName("scoreImg") as Laya.Image,21,hitCallBackHd);
this.moles.push(mole);
}
setScore(type:number):void{
this.score += (type==1?-100:100);
if(this.score<0)this.score=0;
this.updateScoreUI();
}
class Mole {
private normalState: Laya.Image; //正常状态的图片
private hitState: Laya.Image; //受击状态的图片
private upY: number; //地鼠显示状态的最高坐标Y值。
private downY: number; //地鼠隐藏前的最低坐标Y值。
private scoreImg: Laya.Image; //分数图片
private scoreY: number; //分数图片的最高点y值。
private hitCallBackHd:Laya.Handler; //受击回调函数处理器
根据不同地鼠,处理的分数不同

处理器:

事件监听及结束监听:
private normalState: Laya.Image;
this.normalState.on(Laya.Event.MOUSE_DOWN,this,this.hit);
this.normalState.on(Laya.Event.MOUSE_DOWN,this,this.hit,["123","456"]); 这样传参数的话
mm的类型将是string,且只能拿到"123";
this.normalState.on(Laya.Event.MOUSE_DOWN,this,this.hit,[["123","456"]]); 这样传参数的话
mm的类型将是object,且"123","456"都能拿到;
缓动动画:
private normalState: Laya.Image;
Laya.Tween.to(this.normalState,{y:this.upY},,Laya.Ease.backOut,Laya.Handler.create(this,this.showComplete));
位移及放大:

定时器:
Laya.timer.once(,this,this.hide);
Laya.timer.loop(,this,this.onLoop);
清除定时器:


全局唯一的话,自动就在这里生成了:

for循环的话,注意这些步骤:
可以弄一个box

重复复制

代码方面调用
class GameView extends ui.GameUI {
private moles:Array<Mole>;
private moleNum:number =9;
constructor() {
super();
this.moles = new Array<Mole>();
for(var i:number=0;i<this.moleNum;i++){
var box:Laya.Box = this.getChildByName("item"+i) as Laya.Box;
var mole:Mole = new Mole(box.getChildByName("normal") as Laya.Image,
box.getChildByName("hit") as Laya.Image ,21);
this.moles.push(mole);
}
......
代码里设置Laya.Image的图片:
this.normalState.skin ="ui/mouse_normal_"+this.type+".png";
进度条(命名规范是强制的):

进度控制,通过下面这个属性

得分显示:




上面两个正式显示的样子

layabox 1 基础的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- node-webkit 环境搭建与基础demo
首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Golang, 以17个简短代码片段,切底弄懂 channel 基础
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- laravel-admin安装时执行php arisan admin:install 命令时报SQLSTATE[42000]: Syntax error or acce ss violation: 1071 Specified key was too long; max key length is 1000 bytes
问题根源 MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常.三个字节UTF-8最大能编码的Unicode字符是0xffff,即Unicode中的基本多文种平面( ...
- scrapy 快速入门
https://blog.csdn.net/u011054333/article/details/70165401
- List集合去重
本篇包含了两种去重,一种是List集合去重,一种是两个List集合去重合并 List集合去重,一般是两种方式,一种是遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list ...
- RAS算法简单示例(Java版)
RSA算法——由三位发明者Ronald Rivest.Adi Shamir 和 Leonard Adleman 姓氏的首字母拼在一起组成. RSA算法属于“公开密钥加密技术”,其加密和解密的秘钥不同. ...
- eShopOnContainers 看微服务③:Identity Service
引言 通常,服务所公开的资源和 API 必须仅限受信任的特定用户和客户端访问.那进行 API 级别信任决策的第一步就是身份认证——确定用户身份是否可靠. 在微服务场景中,身份认证通常统一处理.一般有两 ...
- LINUX新建和增加SWAP分区
我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢? 在装完Linux系统之后,建立Swap分区有两种方法. 1.新建磁盘分区作为swa ...
- Linux充电站
[Ansible中文权威指南] [鸟哥的linux私房菜] AWK使用手册 Centos的epel源下载 Ceph国内社区 chef简明手册 ChinaUnix运维文库 Confluence和Jira ...
- Burp Suite设置代理
一.确认代理信息 打开Burp Suite,查看proxy->options,看到Interface一栏为127.0.0.1:8080. 二.在Firefox中设置代理服务器 可以下载工具Fox ...
- 使用 nodeJs 开发微信公众号(上传图片)
在给用户发送消息中涉及到的素材(图片.视频.音频.文章等)需要事先传到微信服务器,然后获得媒体id(media_id),然后把 media_id 传递给用户 上传分上传临时素材(只保存三天)和上传永久 ...
- eclipse/idea远程调试Linux程序
第一步.在Tomcat的bin目录下的startup.sh文件的倒数第二行增加“JPDA_ADDRESS=8787”,最后一行在start的前边增加“jpda”,之后重启Tomcat 第二步.配置Ec ...