我试图将一些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;是如何自动化这个而不必手动更改每个生成的文件(这会破坏自动化的唯一目的)?
答案 0 :(得分:1)
摘自Singmagesty(OpenFL创始人Joshua Granick)在this post的OpenFL社区论坛上的回答:
...最干净的解决方案是在SWF库之后包含的类路径中拥有自己的
format.swf.lite.MovieClip
类。在那里进行修改......