Egret 项目文件夹配置和基本容器、动画
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 项目文件夹配置和基本容器、动画的更多相关文章
- Android程序入口以及项目文件夹的含义和使用总结—入门
		
新接触一门程序或者开发框架,我一般都要先弄清楚程序的入口在哪里,程序怎么运行的:建立一个项目后,各个文件夹有什么作用以及如何使用等等.理清楚这些东西对以后开发是很有好处的,古话说得好,工欲善其事,必先 ...
 - asp.net -mvc框架复习(2)-创建ASP.NET MVC 第一个程序以及MVC项目文件夹说明
		
建议vs2013或2013以上版本的vs,要是跨平台的话最好用vs2015或vs2017的asp.net mvc core . 1.创建ASP.NET MVC 第一个程序 打开vs2013->文 ...
 - Eclipse导入项目文件夹
		
Eclipse项目导入出现感叹号解决方法 出现这样的情况怎么办 右击项目名-Bulid path -configure Bulid path 选择Libraries-Remove(移去错的)-Add ...
 - 本地项目文件夹上传至个人Github
		
安装Git 之后到Git官网,点击Download下载,打开安装包一路按Next一切默认直至安装结束. 找到任意一个文件夹,点击鼠标右键后若出现下图的 Git Gui Here 和 Git Bash ...
 - VSCode打开多个项目文件夹的解决方法
		
最近从sublime转vscode,自然而然就会把sublime的一些习惯带过来,其中有一点让人头疼的是: 当把一个文件夹拖进vscode里面的时候,会把原来的文件夹覆盖掉,这就意味着不能同时在vsc ...
 - 17、配置嵌入式servlet容器(1)
		
SpringBoot默认使用Tomcat作为嵌入式的Servlet容器 1).如何定制和修改Servlet容器的相关配置 1.修改和server有关的配置 (Se ...
 - 在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误
		
错误原因:在使用webstorm打开本地项目文件夹的html文件时,浏览器提示404错误. 错误分析:文件夹命名内包含“+”,此特殊符号导致浏览器解析错误. 改正方案:去掉特殊符号“+”
 - C#关于如何修改项目文件夹名称
		
在C# 中修改了解决方案项目名称之后,重命名之后出现错误形式: 解决方法就是 打开你的sln文件 ,将里面的地址改过来就好了 以记事本的方式打开.sln文件 修改其中的相对路径,下图选中部分的路径,这 ...
 - 配置 MySQL 服务器容器
		
本文介绍在单一宿主机上如何配置自动备份.建议使用两个容器,其中一个容器作为 MySQL 的服务器,用来处理数据:另一个容器用于自动备份.这样保证隔离,避免备份的容器影响到 MySQL Server 的 ...
 
随机推荐
- 使用python调用wps v9转换office文件到pdf
			
#!/usr/bin/python2.6 # -*- coding: utf-8 -*- # pip install timeout-decorator import os import win32c ...
 - ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的使用
			
ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的作用是指定COLUMN(列)进行分区,在分区内指定COLUMN(列)进行排序 ...
 - Haproxy重刷一次
			
centos上,yum安装,完全无难度. 只是设置时,要注意一下跳转,和nginx规则差不多. https://blog.csdn.net/qq_28710983/article/details/82 ...
 - python全栈开发day54-mysql库操作、表操作、数据类型、完整性约束
			
一.昨日内容回顾 1.mysql的安装 1).解压文件 添加环境变量bin 2).初始化mysql生成数据data文件夹: mysqld --initialize-insecure 3).mysqld ...
 - kudu集成impala
			
Kudu 与 Apache Impala (孵化)紧密集成,允许开发人员使用 Impala 使用 Impala 的 SQL 语法从 Kudu tablets 插入,查询,更新和删除数据: 安装impa ...
 - jenkins(1):   jenkins安装以及从gitlab拉取代码
			
1. gitlab前面已经写过了,自己去参考 https://www.cnblogs.com/yitianyouyitian/p/9214940.html 2. jenkins安装 2.1 jdk 安 ...
 - NOI2018Day1T1 归程 并查集 kruskal kruskal重构树 倍增表 Dijkstra
			
原文链接https://www.cnblogs.com/zhouzhendong/p/NOI2018Day1T1.html 题目传送门 - 洛谷P4768 题意 给定一个无向连通图,有 $n$ 个点 ...
 - python面试题之Python是如何进行内存管理的
			
python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收. ...
 - 为什么分布式一定要有Redis?
			
这篇文档是读了一个公众号的文章后修改后复制,以前的学习深度不够,现在还是理解不够,以后再写文档,继续加深. 一:说明 1.说明 考虑到绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 ...
 - java的conllections.sort排序
			
https://www.cnblogs.com/yw0219/p/7222108.html?utm_source=itdadao&utm_medium=referral