【问题标题】:"Could not find symbol"“找不到符号”
【发布时间】:2013-06-06 17:05:59
【问题描述】:
我正在尝试以这种方式嵌入 swf 文件:
[Embed(source="../assets/assets.swf", symbol="main")]
public var MC:Class;
但是,它一直说错误,“在...中找不到符号 main”。
我检查了符号的链接确实是主要的。
我还应该检查什么?
谢谢。
(文件找到了,如果我删除嵌入,我可以毫无问题地将整个 swf 添加到舞台)
【问题讨论】:
标签:
actionscript-3
flash
embed
【解决方案1】:
我看不出你的语法有什么问题。唯一可能出错的地方是符号的名称。使用 ApplicationDomain.getDefinition() 和 ApplicationDomain.getQualifiedDefinitionNames() API 来验证符号名称是否正确。
另一个问题可能是包含符号的文件与嵌入的文件位于不同的位置。这听起来很愚蠢,但在紧迫的期限内工作时我做了更糟糕的事情。
【解决方案2】:
示例 1:
如果结构文件夹是
src(文件夹)
- 核
-- 资产.as
资产(文件夹)
-fly01.png
错误因为目录路径不是extractly(核心文件夹外的资产文件夹)
Asset.as 你写错误:
包芯
{
导入starling.textures.Texture;
public class Assets
{
[Embed(source="assets/sky.png")]
private static var sky:Class;
public static var skyTexture:Texture;
}
}
Asset.as you write:error
包芯
{
导入starling.textures.Texture;
public class Assets
{
[Embed(source="../assets/sky.png")]
private static var sky:Class;
public static var skyTexture:Texture;
}
}
Asset.as you write:true
包芯
{
导入starling.textures.Texture;
public class Assets
{
[Embed(source="../../assets/sky.png")]
private static var sky:Class;
public static var skyTexture:Texture;
}
}