游戏中会用着一些简单的动画,公司一般使用的dragonbones制作,导出二进制格式或者MC来使用。
感觉一些简单动画直接使用动画编辑器更加简便些。
引擎版本:5.0.14
wing版本:4.1.0
一 效果图
二 使用动画编辑器
我这里使用的是类似Flash的MovieClip的概念。
这个开场动画是一个自定义组件,由OpenAnim.ts 和OpenAnimSkin.exml组成。
你可以使用代码创建,或者直接拖动到其他exml中使用它(这样非常方便摆位置)。
写了一堆又删了,关于动画编辑器的教程,还是看官方的吧。哈哈...哈哈...
官方动画编辑器教程:http://developer.egret.com/cn/github/egret-docs/Wing/animation/index.html
三 使用OpenAnim
1 自定义组件OpenAnim,包含动画的皮肤OpenAnimSkin.exml
使用的素材
OpenAnimSkin.exml
OpenAnim.ts
[AppleScript]
纯文本查看 复制代码
|
01
02
03
04
05
06
07
08
09
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
|
/
*
*
*
开场动画
*
@author chenkai
2018
/
2
/
25
*
/
class
OpenAnim extends eui.Component
{
private openAnim
:
egret.tween.TweenGroup;
/
/
开场动画
public constructor
(
)
{
super
(
)
;
this.skinName
=
"OpenAnimSkin"
;
this.percentWidth
=
100
;
this.percentHeight
=
100
;
}
public childrenCreated
(
)
{
}
/
/
播放
public play
(
)
{
this.openAnim.addEventListener
(
egret.Event.COMPLETE
,
this.onTweenGroupComplete
,
this
)
;
this.openAnim.play
(
)
;
}
/
/
停止
public stop
(
)
{
this.openAnim.stop
(
)
;
}
/
/
动画播放完成
private onTweenGroupComplete
(
)
:
void
{
this.openAnim.removeEventListener
(
egret.Event.COMPLETE
,
this.onTweenGroupComplete
,
this
)
;
this.dispatchEvent
(
new
egret.Event
(
egret.Event.COMPLETE
)
)
;
}
}
|
我们在其他exml中使用这个动画,可以使用代码创建,或者直接拖动到其他exml中
这里拖动一个openAnim动画到主页HomeSceneSkin皮肤上,并在代码中使用
[AppleScript]
纯文本查看 复制代码
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/
*
*
*
主页
*
@author chenkai
2018
/
2
/
25
*
/
class
HomeScene extends eui.Component
{
private openAnim
:
OpenAnim;
/
/
开场动画
public constructor
(
)
{
super
(
)
;
this.percentWidth
=
100
;
this.percentHeight
=
100
;
this.skinName
=
"HomeSceneSkin"
;
}
protected childrenCreated
(
)
{
super.childrenCreated
(
)
;
this.openAnim.addEventListener
(
egret.Event.COMPLETE
,
this.onAnimComplete
,
this
)
;
this.openAnim.play
(
)
;
}
private onAnimComplete
(
)
{
console.
log
(
"动画播放完成"
)
;
}
}
|
三 Demo
来源:oschina
链接:https://my.oschina.net/u/4398670/blog/3928099