屏幕适配:

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. python之路——17

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1.迭代器2.生成器3.内置函数 1.学习55个 2.带key的,max min filter map ...

  2. Oracle数据库ORA-01109 数据库未打开

    引致 https://blog.csdn.net/colinmok/article/details/39504879?locationNum=11&fps=1  感谢! 在plsql创建了2表 ...

  3. mysql 5.7 enable binlog

    0. precondition a) install mysql 5.7, for  detail please refer my blog post. 1. login mysql and chec ...

  4. 一文洞悉Python必备50种算法!资深大牛至少得掌握25种!

    一.环境需求 二.怎样使用 三.本地化 3.1扩展卡尔曼滤波本地化 3.2无损卡尔曼滤波本地化 3.3粒子滤波本地化 3.4直方图滤波本地化 四.映射 4.1高斯网格映射 4.2光线投射网格映射 4. ...

  5. C# 反射,动态类,动态方法

    1.动态类名,固定方法名,例如.调用不同类下边的GetById()方法: //项目需要引用Miscorsoft.CSharp类库,否则会报错:找不到编译动态表达式所需的一个或者多个类型.//引用这两个 ...

  6. kubernetes nginx ingress controller部署

    Kubernetes nginx ingress controller部署 1.下载kubernetes nginx的yaml文件 Wget https://raw.githubusercontent ...

  7. python 匿名函数&内置函数

    匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数 ...

  8. java web复习(二)

    三.四种属性范围及应用 setAttribute(String name,Object o)设置属性 getAttribute(String name)根据属性名取得属性 removeAttribut ...

  9. PSR-1 基本代码规范

    基本代码规范 本篇规范制定了代码基本元素的相关标准, 以确保共享的PHP代码间具有较高程度的技术互通性. 关键词 “必须”("MUST").“一定不可/一定不能”("MU ...

  10. Mybatis pageHelper.startPage(...)是物理分页

    使用PageHelper.startPage(...)进行物理分页 业务需求只显示其中的100条数据 之前是在业务逻辑里对参数limit进行了处理 后来试试sql的limit查询100条数据 但是不确 ...