在Flash / Animate中扩展Haxe类

时间:2016-10-07 20:46:15

标签: flash haxe openfl

我试图将一些Flash / Animate制作的动画集成到OpenFL应用程序中 为此,我使用了OpenFL SWF库。在我的project.xml中,我有这个:

<haxelib name="swf" />
<library path="assets/library.swf" prefix="View" generate="true" preload="true" />

到目前为止,非常好 问题是我无法在swf中使用stop();(或任何其他类型的时间轴脚本)控制动画,因为SWF lib还没有支持它。

我目前的解决方案涉及框架标签 简单来说,我只是在主时间轴的标签中添加特殊值,并在Haxe中读取它们 这有效但不是自动化的(我必须手动解析swf中的每个类),并且要按照我想要的方式使用类,我必须做一些组合。
我认为继承是一种更好的方法,为此,我需要让每个导出的movieclip扩展一个执行标签解析的类,但不能再说,我不能使用AS3。

查看Haxe生成的代码我在编译目标代码(例如HTML5)之前看到,因为我设置了generate="true"属性,OpenFL创建了设置为从swf导出的类。
如果我更改文件以扩展除openfl.display.MovieClip之外的其他类,并将其发送给Haxe编译器,而是获得预期的行为。

最后的&#34;墙&#34;是如何自动化这个而不必手动更改每个生成的文件(这会破坏自动化的唯一目的)?

1 个答案:

答案 0 :(得分:1)

摘自Singmagesty(OpenFL创始人Joshua Granick)在this post的OpenFL社区论坛上的回答:

  

...最干净的解决方案是在SWF库之后包含的类路径中拥有自己的format.swf.lite.MovieClip类。在那里进行修改......