屏幕适配:

class GameMain{
public static gameStart:GameStart;
public static gameView:GameView;
public static gameOver:GameOver;
constructor()
{
  Laya.init(800,600);
  Laya.stage.scaleMode = Laya.Stage.SCALE_NOSCALE;//无缩放
  Laya.stage.alignH = Laya.Stage.ALIGN_CENTER;//水平居中
  Laya.stage.alignV = Laya.Stage.ALIGN_CENTER;//垂直居中
  Laya.stage.screenMode = Laya.Stage.SCREEN_HORIZONTAL;//自动横屏(自动检测屏幕宽高,使游戏水平显示)

相对于父容器的位置:

GameMain.gameOver.centerX = 0;
GameMain.gameOver.centerY = 40;

九宫格:

删除自己:

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

按钮:

锤子跟随鼠标移动:

this.pos(Laya.stage.mouseX-this.width/2,Laya.stage.mouseY-this.height/3);

执行动画:

  module ui {
  export class HammerUI extends View {
          public hit:Laya.FrameClip;

  继承后的,调用一下就可以了

  this.hit.play(0,false);

鼠标:

Laya.Mouse.hide();

设置图片中心:

组件赋值:

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);
Laya.stage.off(Laya.Event.MOUSE_DOWN,this,this.onMouseDown);
  
 若 hit 函数这样写:
  hit(mm:any):void{......
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 基础的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"

    最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...

  2. Wow64(32位进程)注入DLL到64位进程

    转载自: https://blog.poxiao.me/p/wow64-process-inject-dll-into-x64-process/ 向其他进程注入DLL通常的做法是通过调用CreateR ...

  3. spring mvc json乱码

    <mvc:annotation-driven> <mvc:message-converters> <!-- 将StringHttpMessageConverter的默认编 ...

  4. strct配置文件详解

    1,strct配置文件详解 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configurati ...

  5. 记录Redis使用中遇到的两个问题(原子性及数据完整性)

    1.使用Redis作为分布式锁的原子性问题 原方案: ① SETNX $LOCK_BUSI_KEY $REQ_ID ② EXPIRE $LOCK_BUSI_KEY $LOCK_TIME 问题: 使用S ...

  6. Tmux 常用快捷键

    Ctrl-b : Send the prefix key through to the application. " : Split the current pane into two, t ...

  7. Exp6 信息搜集与漏洞扫描 20164313 杜桂鑫

    1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 1.使用搜索引擎 在百度搜索栏内输入 site:com filetype:doc 北京电子科技学院 ...

  8. objective-c数组的七种遍历方法总结

    //第一种 [arr enumerateObjectsUsingBlock: ^(id obj, NSUInteger idx, BOOL *stop){     NSLog(@"%ld,% ...

  9. tomcat启动时错误:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误

    今天第一次遇到Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误,并且在错误提示的后半段出现了 ...

  10. STS临时授权访问OSS

    STS临时授权访问OSS OSS 可以通过阿里云 STS (Security Token Service) 进行临时授权访问.阿里云 STS 是为云计算用户提供临时访问令牌的Web服务.通过 STS, ...