博客
关于我
Egret学习笔记 (Egret打飞机-4.添加主角飞机和实现飞行效果)
阅读量:415 次
发布时间:2019-03-06

本文共 1628 字,大约阅读时间需要 5 分钟。

今天继续写点击了开始之后,添加一个飞机到场景中,然后这个飞机的尾巴还在冒火的那种感觉

先拆解一下步骤

1.首先完成飞机容器的图片加载

2.然后把容器添加到场景中
3.然后实现动画
*
-首先,我们新建一个TypeScript的类叫做HeroObject,英雄对象,哈哈,我命名水平不怎么高。然后继承自egret.DisplayObjectContainer

class HeroObject extends egret.DisplayObjectContainer {	_textures: egret.Texture[] = [];	_hero: egret.Bitmap;	public constructor() {		super();		this.addEventListener(egret.Event.ADDED_TO_STAGE, () => {			this._textures[0] = RES.getRes("hero1_png");			this._textures[1] = RES.getRes("hero2_png");			this._hero = new egret.Bitmap();			this._hero.texture = this._textures[0];			this.width = 100;			this.height = 122;			this.addChild(this._hero)		}, this)	}

变量_textures是用来保存两张贴图,在ADDED_TO_STAGE里面,加载两张图到_texture数组里面,然后new一个图片对象。再设置当前容器的宽高,这里的宽高我们用飞机的图片的宽高就行了,然后把图片装到当前容器里面

-然后把编写好的飞机对象添加到Main的场景里面去

//移除开始界面,然后加入其它的GameObjectthis.removeChild(this.beginScene);//开始加入Herothis._Hero = new HeroObject();this._Hero.Fly(100, 100)this.addChildAt(this._Hero, 10)

上边这段代码是处理 点击开始 的点击事件,然后从Main场景中移除开始界面,并且添加飞机到界面上。

这时候,飞机就出现在Main场景的左上角了,但是上面的GIF图片是飞机的后边在喷气,看起来飞机像是在动一样,那这是怎么做到呢?

看到ADDED_TO_STAGE方法里面的加载了两张图,有机智的小伙伴肯定会想到是不是切换图片?没错,就是切换图片的视觉效果,才让飞机看起来像是在喷气飞一样。

我们先分析一下,Egret的Index.html里面的div中的data-frame-rate属性,默认是30,从官方文档中知道,egret默认是每秒30帧,我理解的意思是在理想的环境下面,每秒刷新界面30次(我也是半吊子,说错了请大家指正一下)

然后我们两张图,我们就让它大致每秒切换两次算了

_tag: number = 0;	public frame(e: egret.Event) {		if (this._tag >= 30) this._tag = 0;		if (this._tag >= 15) {			this._hero.texture = this._textures[0];		}		else {			this._hero.texture = this._textures[1];		}		this._tag += 1;	}

我的思路是先放一个tag计数器,每一帧,加1个数,然后小于15的话,就把第一张图给飞机显示,大于15的话,就给第二张图显示。这样大致就做到了运行起来,上边的gif图的效果了。。。(据说还有更好的实现方式,但是我也是新手,以后再说吧,先实现,再考虑优化的问题)

转载地址:http://ortkz.baihongyu.com/

你可能感兴趣的文章
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
nginx配置全解
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置后台网关映射路径
查看>>
nginx配置域名和ip同时访问、开放多端口
查看>>
Nginx配置多个不同端口服务共用80端口
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-动静分离实例:搭建静态资源服务器
查看>>
Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
查看>>
Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
nginx配置文件nginx.conf之server及server_name的意义
查看>>
nginx配置文件nginx.conf超详细讲解
查看>>
Nginx配置文件详解
查看>>
Nginx配置自带的stub状态实现活动监控指标
查看>>
Nginx配置详解
查看>>
nginx配置详解
查看>>
nginx配置详解、端口重定向和504
查看>>