Egret 项目文件夹配置和基本容器、动画:

class Main extends egret.DisplayObjectContainer {
//src是resource codede 缩写,所有项目的源代码都放在该目录;新建项目会包含;两个文件 Main.ts默认入口文件;
//LoadingUI.ts是加载过程辅助显示组建,用来显示加载进度;
//项目配置文件:根目录下的egretProperties.json
//libs 目录包含项目各个模块对应的所有类库
//bin-debug 目录包含项目
//项目资源文件目录: resource用来存放项目运行所需要的所有资源。包含图片(图片,声音等资源默认存放目录resource/assets)和配置文件,通常有资源清单文件,默认是resource.json。
//配置数据文件默认存放目录resource/config
//项目发布:执行发布命令,会对项目编译文件和运行库文件进行整合压缩,合并为一个文件。命令:项目->发布。
//发布生成的文件会被存储在项目的release 目录,且根据发布类型存放,通常发布生成位于release/html5目录中,在一个时间戳(如143918484)命名的文件夹内。
//发布输出目录中,可以看到仅有3个js文件,所有的游戏逻辑和所需的运行库均被打包为一个game-min.js
//采用的是TypeScript作为开发语言,一种标准的oop(面向对象编程)语言。
//typescript 官网文档:http://www.typescriptlang.org
//快速调整代码格式:快捷 Alt + shift +F
//快捷查询脚本 ctrl+P 选择内容查询ctrl+c ctrl+p
private _txInfo: egret.TextField;
private _bgInfo: egret.Shape;
public constructor() {
super();
this.once(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
}
private onAddToStage(event: egret.Event) {
//ImageLoader 类可用于加载图像(JPG、PNG 或 GIF)文件。
//使用 load() 方法来启动加载。被加载的图像对象数据将存储在 ImageLoader.data 属性上 。
var imgLoader: egret.ImageLoader = new egret.ImageLoader;
imgLoader.addEventListener(egret.Event.COMPLETE, this.loadCompleteHandler, this);
imgLoader.load("resource/assets/xd.png"); //绘制一个圆形 green
var circle: egret.Shape = new egret.Shape();
circle.graphics.lineStyle(0, 0xffffff);
circle.graphics.beginFill(0x00ff00, 0.8);
circle.graphics.drawCircle(200, 200, 100);//x y r半径
circle.graphics.endFill();
this.addChild(circle);//添加到舞台
//圆形绘制 end
}
//显示图像
private bitmap: egret.Bitmap;
private loadCompleteHandler(event: egret.Event): void {
var imageLoader = <egret.ImageLoader>event.currentTarget;
let texture = new egret.Texture();
texture._setBitmapData(imageLoader.data);
//
this.bitmap = new egret.Bitmap(texture);
//bitmap的pos设定
this.bitmap.x = 100;
this.bitmap.y = 100;
//设置位图的尺寸
//this.bitmap.width=this.bitmap.height = 100;
//缩放
this.bitmap.scaleX = this.bitmap.scaleY = 0.6;
this.bitmap.rotation = 45;//旋转
//this.bitmap.x =this.bitmap.y = 100;
this.addChild(this.bitmap);
//为定位设置基准点
this.bitmap.anchorOffsetX = this.bitmap.width / 2;
this.bitmap.anchorOffsetY = this.bitmap.height / 2;
this.bitmap.x = this.stage.stageWidth * .5;
this.bitmap.y = this.stage.stageHeight * .5;
//文本
this._txInfo = new egret.TextField();
this.addChild(this._txInfo);
//文本格式大小
this._txInfo.size = 30;
//this._txInfo.width = this._txInfo.height = 30;
//文本位置
this._txInfo.x = 50;
this._txInfo.y = 50;
this._txInfo.textAlign = egret.HorizontalAlign.LEFT;//文字对齐的方式
//注:若将文本的宽高,文本是无法正确使用对齐方式;若文本v不设置大小,则TextField会根据文字的内容自动计算出需要的宽高度
//在最初会对文本进行设置宽高,第二次则不会自动设置宽高度,所以可以在第二次手动进行宽高度的设置
//在第一次文本赋值前,进行设置文本的宽高度
//即在文本处理时,需要考虑位置和大小
//egret.HorizontalAlign.RIGHT; 其他对齐方式
//egret.VerticalAlign.TOP;egret.VerticalAlign.BOTTOM;
this._txInfo.textColor = 0x00000;//设置文本颜色 16进制的颜色数值
this._txInfo.textColor = 0xFFFF00;//yellow //文字描边
this._txInfo.strokeColor = 0x0000ff;//颜色
this._txInfo.stroke = 2;//描边宽度 2个像素的宽度
//改变文字样式
this._txInfo.bold = true;//粗体
this._txInfo.italic = true;//斜体
//指定文本的字体:建议使用常见的字体,否则当查询不到所用字体的时候,会使用默认的字体s
this._txInfo.fontFamily = "KaiTi";
//利用位图,在图片内作为自定义的字体,解决字体显示统一性的问题 [.fnt .png资源内容]房子在assets文件夹下
//.fnt 图片中各个字符的描述
//.png 字符或者数字等的图片 this._txInfo.alpha = 0.8;
this._txInfo.type = egret.TextFieldType.DYNAMIC;
this._txInfo.lineSpacing = 6;
this._txInfo.text = "这是bitMap和TextField的显示";
//为文字添加背景
this._bgInfo = new egret.Shape;
this.addChildAt(this._bgInfo, this.numChildren - 1); this._bgInfo.x = this._txInfo.x;
this._bgInfo.y = this._txInfo.y;
this._bgInfo.graphics.clear();
this._bgInfo.graphics.beginFill(0xffffff, .5);//参数:颜色,[透明度=可不写]
this._bgInfo.graphics.drawRect(0, 0, this._txInfo.width, this._txInfo.height);
this._bgInfo.graphics.endFill(); this.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (evt: egret.TouchEvent) => {
this.bitmap.x = evt.localX;
this.bitmap.y = evt.localY;
}, this);
this.bitmapAnimation();
}
//动画
private bitmapAnimation(): void {
var tw = egret.Tween.get(this.bitmap);
//to(props: any, duration?: number, ease?: Function): Tween; 返回的类型是Tween
//tw.to({ x: 280, y: 0 }, 500);
//tw.to({x:280,y:300},500);
//也可以写成
tw.to({ x: 280, y: 0 }, 500).to({ x: 280, y: 300 }, 500).to({ x: 0, y: 300 }, 500).to({ x: 0, y: 0 }, 500);
tw.call(this.bitmapAnimation, this);//动画完成后的回调函数,实现循环播放动画的效果
}
//舞台Stage的位置坐标体系:左上角为坐标原点;x轴正方向向右;y轴正方向向下; }

Egret 项目文件夹配置和基本容器、动画的更多相关文章

  1. Android程序入口以及项目文件夹的含义和使用总结—入门

    新接触一门程序或者开发框架,我一般都要先弄清楚程序的入口在哪里,程序怎么运行的:建立一个项目后,各个文件夹有什么作用以及如何使用等等.理清楚这些东西对以后开发是很有好处的,古话说得好,工欲善其事,必先 ...

  2. asp.net -mvc框架复习(2)-创建ASP.NET MVC 第一个程序以及MVC项目文件夹说明

    建议vs2013或2013以上版本的vs,要是跨平台的话最好用vs2015或vs2017的asp.net mvc core . 1.创建ASP.NET MVC 第一个程序 打开vs2013->文 ...

  3. Eclipse导入项目文件夹

    Eclipse项目导入出现感叹号解决方法 出现这样的情况怎么办 右击项目名-Bulid path -configure Bulid path 选择Libraries-Remove(移去错的)-Add ...

  4. 本地项目文件夹上传至个人Github

    安装Git 之后到Git官网,点击Download下载,打开安装包一路按Next一切默认直至安装结束. 找到任意一个文件夹,点击鼠标右键后若出现下图的 Git Gui Here 和 Git Bash ...

  5. VSCode打开多个项目文件夹的解决方法

    最近从sublime转vscode,自然而然就会把sublime的一些习惯带过来,其中有一点让人头疼的是: 当把一个文件夹拖进vscode里面的时候,会把原来的文件夹覆盖掉,这就意味着不能同时在vsc ...

  6. 17、配置嵌入式servlet容器(1)

    SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 1).如何定制和修改Servlet容器的相关配置         1.修改和server有关的配置            (Se ...

  7. 在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误

    错误原因:在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误. 错误分析:文件夹命名内包含“+”,此特殊符号导致浏览器解析错误. 改正方案:去掉特殊符号“+”

  8. C#关于如何修改项目文件夹名称

    在C# 中修改了解决方案项目名称之后,重命名之后出现错误形式: 解决方法就是 打开你的sln文件 ,将里面的地址改过来就好了 以记事本的方式打开.sln文件 修改其中的相对路径,下图选中部分的路径,这 ...

  9. 配置 MySQL 服务器容器

    本文介绍在单一宿主机上如何配置自动备份.建议使用两个容器,其中一个容器作为 MySQL 的服务器,用来处理数据:另一个容器用于自动备份.这样保证隔离,避免备份的容器影响到 MySQL Server 的 ...

随机推荐

  1. python requests 正则爬虫

    代码: import requests from multiprocessing import Pool from requests.exceptions import RequestExceptio ...

  2. Visual Studio 2015 插件开发入门

    (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools).对于已经安装好 Visual ...

  3. 【CF446D】DZY Loves Games

    题解: 不错的题目 首先要求的黑点个数非常多 比较容易想到矩阵乘法 于是我们可以求出从某个黑点出发到任意一个黑点之间的概率 发现不同出发点带来的变化只有常数项 于是我们可以预处理出从每个方程转移的系数 ...

  4. Json常用组件

    Json2.js   开发者:json官网:http://www.json.org/. 适用环境:用于在不支持JSON对象的浏览器(通常是国内使用IE内核的第三方浏览器)下使用.json2.js提供了 ...

  5. skyline添加wfs服务时,弹出错误“no layers were found”!

    1.问题描述: 使用TerraExplorer Pro添加ArcGIS Server 10.2发布的WFS服务图层时,弹出如下错误: 2.错误原因: 发布wfs服务前,图层数据源的空间参考未设置,不能 ...

  6. Codeforces 542A Place Your Ad Here

    Place Your Ad Here 把没用的第一类区间去掉之后, 排序, 然后枚举第二类区间, 在上面死命二分就好了. #include<bits/stdc++.h> #define L ...

  7. python面试题之Python是如何进行内存管理的

    python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收. ...

  8. day65 request对象,以及方法,response对象,render,redirect

    这里的都是我们会频繁使用到的,用得多了自然就会了,我们写项目都是少不了这些用法的,所以这就把老师的博客粘过来就好了, Request对象 官方文档 属性 所有的属性应该被认为是只读的,除非另有说明. ...

  9. php(apache)切换版本

    php(apache)切换版本 1.brew link php@7.1 2.上两行写入 ~/.bash_profile文件 3.source ~/.bash_profile 4.sudo vi /et ...

  10. Ajax技术使用之ajax与模态框结合的妙用

    Ajax技术使用之ajax与模态框结合的妙用 要求: 使用ajax的方式提交数据:https://www.cnblogs.com/-wenli/p/10470063.html 使用模态框完成增加数据, ...