前言
egret中实现动画的方式,有几种,缓动动画、关键帧、序列帧、龙骨动画。
在不同场景下可以选择适合的动画实现方式。这里只介绍缓动动画。
通常情况下,游戏中或多或少都会带有一些缓动动画。例如界面弹出,或者道具飞入飞>出的特效等等。在制作这些缓动动画的时候我们仅仅 希望简单的办法实现这种移动或者>变形缩放的效果。Egret中的 Tween 缓动动画类就为我们提供了相关的功能。
添加tween模块
从Egret 2.5 开始,以官方扩展模块的形式支持 Tween 。在现有的 Egret 项目中,修改egretProperties.json中的modules,添加 tween 模块:
1 | { |
在项目所在目录内执行一次引擎编译:
1 | egret build -e |
本步骤已经完成,现在项目中既可以使用 Tween 相关的API了。
资源加载
只有当所需的资源加载完成之后才能获取资源,并赋予动画。
使用通用MVC框架,这里简单介绍其资源加载策略。
以下为部分代码
main.ts1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41class Main extends egret.DisplayObjectContainer {
//初始化场景及模块
this.initScene();
this.initModule();
App.SceneManager.runScene(SceneConsts.LOADING);
//加载资源版本号
if (false) {
App.ResVersionManager.loadConfig("resource/resource_version.json", this.loadResVersionComplate, this);
} else {
this.loadResVersionComplate();
}
}
private loadResVersionComplate(): void {
//初始化Resource资源加载库(这里加载自动以的资源配置方案,如龙骨动画资源、框架核心资源),静态资源加载完成事件
App.ResourceUtils.addConfig("resource/default.res.json", "resource/");
App.ResourceUtils.addConfig("resource/resource_core.json", "resource/");
App.ResourceUtils.addConfig("resource/resource_ui.json", "resource/");
App.ResourceUtils.addConfig("resource/resource_battle.json", "resource/");
App.ResourceUtils.loadConfig(this.onConfigComplete, this);
}
/**
* 配置文件加载完成,开始预加载preload资源组。
*/
private onConfigComplete(): void {
//加载皮肤主题配置文件,可以手动修改这个文件。替换默认皮肤。
var theme = new eui.Theme("resource/default.thm.json", this.stage);
theme.addEventListener(eui.UIEvent.COMPLETE, this.onThemeLoadComplete, this);
}
/**
* 主题文件加载完成
*/
private onThemeLoadComplete(): void {
new BlackJack();
}
}
BlackJack.ts
1 |
|
JackWelcomeConstroller.ts
1 | /* |
JackWelcomeView.ts
1 | class JackWelcomeView extends BaseEuiView { |