[]分享:Skeleton下Event.LABLE('label')事件的使用

        LayaAir下支持龙骨的自定义事件,即动画制作中为关键帧添加的帧事件,这里不再累述,下面看个例子。

Label事件如何设置?
        打开Dragonbones(或spine),选择龙骨动画的关键帧,在属性面板会看到事件,单击事件后面的文本框,添加自定义帧事件,命名随意,譬如label、'label'、jump、walk....,支持多个帧事件

111.png

如何在代码中监听自定义事件?
         为你的龙骨动画监听Event.LABEL事件,该事件会返回事件的类型,即name值
      private function parseComplete(fac:Templet):void {
//创建模式为1,可以启用换装
mArmature = mFactory.buildArmature(1);
mArmature.x = mStartX;
mArmature.y = mStartY;
mArmature.scale(0.5, 0.5);
Laya.stage.addChild(mArmature);
mArmature.on(Event.LABEL, this, onEvent);
mArmature.on(Event.STOPPED, this, completeHandler);
play();
}
private function onEvent(e:*):void
{
var tEventData:EventData = e as EventData;

Laya.stage.addChild(mLabelSprite);
mLabelSprite.x = mStartX;
mLabelSprite.y = mStartY;
mLabelSprite.graphics.clear();
mLabelSprite.graphics.fillText(tEventData.name, 0, 0, "20px Arial", "#ff0000", "center");
Tween.to(mLabelSprite, { y:mStartY - 200 }, 1000, null,Handler.create(this,playEnd))

if(tEventData.name=="'fall'")
{
trace('fall');
}
else if(tEventData.name=="'jump'")
{
trace('jump');
}
else if(tEventData.name=="'stand'")
{
trace('stand');
}
else if(tEventData.name=="'walk'")
{
trace('walk');
}
}
以下附上Demo,开发者可以自行下载参考学习!
 
已邀请:

Monica - 知识达人

赞同来自:

谢谢分享 ~\(≧▽≦)/~

uncle1980

赞同来自:

谢谢

aaaking

赞同来自:

如果骨骼动画不添加自定义帧事件就不能触发Laya.Event.Label?是这样吗?

要回复问题请先

商务合作
商务合作