在 Actionscript 项目的 FlexLib 项目中使用嵌入图像
我有一个带有嵌入类的 FlexLib 项目:
package
{
public class EmbedAssets
{
[Embed( source="image.png" )]
public static var IMAGE:Class;
}
}
在同一个项目中,我有一个使用此嵌入图像的类:
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
public class Visual extends Sprite
{
public function Visual()
{
super();
var aa:DisplayObject = new EmbedAssets.IMAGE() as DisplayObject;
addChild( aa );
}
}
}
并且我有另一个使用此Actionscript 项目 >FlexLib Project 并在舞台上添加 Visual 类:
package
{
import flash.display.Sprite;
public class AsTest extends Sprite
{
public function AsTest()
{
addChild( new Visual());
}
}
}
图像只是不显示。
我调试了应用程序,发现 aa 的 bitmapData 为 NULL。但是如果我在 Lib 项目之外实现,那么这个工作就可以了!
在项目属性中,ai 在 Flex 库构建路径上尝试了很多配置 ->类别/资产。但没有一个能正常工作。
I have a FlexLib Project with a embed class:
package
{
public class EmbedAssets
{
[Embed( source="image.png" )]
public static var IMAGE:Class;
}
}
At the same project, I have a class that use this embedded image:
package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
public class Visual extends Sprite
{
public function Visual()
{
super();
var aa:DisplayObject = new EmbedAssets.IMAGE() as DisplayObject;
addChild( aa );
}
}
}
And I have another Actionscript Project that use this FlexLib Project and add the Visual class on stage:
package
{
import flash.display.Sprite;
public class AsTest extends Sprite
{
public function AsTest()
{
addChild( new Visual());
}
}
}
The image don't show up, just.
I had debug the application and found the bitmapData of aa was NULL. But if I implement out of Lib Project, this work!
In properties of projects ai tried a lot configurations on Flex Library Build Path -> Classes / Assets. But none work correctly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑: Idemax Green(问题作者)发现它可以与以前的 SDK 一起使用,但不能与 Flex SDK Hero - Beta - 4.5.0.17689 一起使用,他将其记录为错误:https://bugs.adobe.com/jira/browse/SDK-29135
如果 FlexLib 项目与您的应用程序代码,那么我很确定它在运行时不会在该位置看到图像,因为位置会有所不同,例如库将位于主应用程序的 libs 文件夹中。检查 FlexLib swc 在 bin-debug 文件夹中的位置,并可能修改 EmbedAssets 中的路径以反映这一点。
EDIT: Idemax Green (question author) discovered that it works ok with prev SDK's but not with Flex SDK Hero - Beta - 4.5.0.17689, he logged it as a bug: https://bugs.adobe.com/jira/browse/SDK-29135
If the FlexLib project is merged with your application code, then i'm pretty sure it will not see the image at that location at runtime, as the location will be different e.g. the library will be in the libs folder of the main app. Check where the FlexLib swc is located in you bin-debug folder, and maybe modify the path in EmbedAssets to reflect this.
您应该将库项目的资产目录添加到应用程序项目的源路径中。
如果您使用的是 FlashBuilder,则应编辑 Flex 应用程序的 .project 文件,并扩展
linkedResources
标记,如下所示:You should add the library project's assets directory to the application project's source path.
If you are using FlashBuilder, you should edit the flex application's .project file, and extend the
linkedResources
tag as follows: