首先为什么叫做“之一”呢? 因为或许还有之二三四五六七八~
①关于初始代码的大体框架,我创建了8个新的(所有)项目都和官网教学不匹配,只在进入命令终端下新建的文件夹才能保持一致,虽然不知道具体原因,但是走着走着总会懂的,初始代码的大体框架如下:
class demo extends egret.DisplayObjectContainer {
/**构造函数*/
public constructor() {
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE,this.startGame,this);
}
/**游戏启动后,会自动执行此方法*/
public startGame():void {
alert("hello!");
}
}
②关于创建图片的方法,得分三个大步走
1)进入resource文件夹下的resource.json文件下先配置资源信息。
在该该json文件夹下的结构分为resource和group两类,先将资源在resource类别下进行描述,然后在group类别下进行分组归类。
(目前可以知道的情报:貌似步骤都是分组归类后再拿来使用)
2)在创建的TS文件下新建Bitmap类型的变量,然后创建一个获取资源的方法,再创建一个获取图片的方法(先得到资源,再拿图片嘛,虽然很麻烦)
获取资源的方法下分三步走:
一、创建一个监听资源加载完毕后进行回调指定方法的语句。
二、加载所需的资源。
三、获取对应资源下的组(就是上面提到的分组归类的组)。
在上述行为执行完毕后会开始执行进行回调的获取图片的方法,一样分三步走:
一、使用上面定义的变量实例化一个Bitmap类。
二、使用Bitmap的texture属性获取对应资源。
三、最后将这个变量添加到显示列表中。
具体代码如下:
private logo:egret.Bitmap;
private loadResource():void
{
//一个读取资源的方法
RES.addEventListener(RES.ResourceEvent.GROUP_COMPLETE,this.onResourceLoadComplete,this); //事件监听回调方法
RES.loadConfig("resource/resource.json","resource/"); //加载资源
RES.loadGroup("monkeyClip"); //获取组
}
private onResourceLoadComplete(event:RES.ResourceEvent):void
{
this.logo = new egret.Bitmap(); //变量实例化
this.logo.texture = RES.getRes("icons_sheet.activity_1"); //获取资源
this.addChild(this.logo); //添加到显示列表中
}
③所谓万事开头难,事实证明确实如此,一开始我连构建环境和最简单的创建文件都弄了半天
上面的方法熟练后,接下来的图片位移,帧动画,都是在上面的基础上做简单的增删改,以下做简单的记录:
一、图片位移
使用Tween持有目标图片再进行to方法的连串坐标使用,需要循环的话再使用call方法进行回调自身。
二、帧动画(概括起来5步走)
private onResourceLoadComplete(event:RES.ResourceEvent):void
{
var image = RES.getRes("monkey_png"); //获取图片
var data = RES.getRes("monkey_json"); //获取描述文件
var monkeyClip = new egret.MovieClip(data,image); //使用影片剪辑方法,代入上面2个参数
this.addChild(monkeyClip); //添加到显示列表
monkeyClip.setInterval(1); //刷新频率
//monkeyClip.frameRate = 60; //运行帧率,作用同上
monkeyClip.gotoAndPlay("attack"); //播放动画
}
这篇文章的内容到这里就结束了,这两天用了egret的感觉是觉得有点蛋疼,首先关键字的补全是区分大小写的,比如要调用RES,首字母输入r是不提示的,非得输入R才行,这点让我感觉很不方便,然后语法里需要写非常多的this,让人有些莫名其妙,或许是我还没习惯,嘛,一路走来一路学吧。