【问题标题】:Embedding png throws Error #1065: Variable FlexVersion is not defined嵌入 png 引发错误 #1065:未定义变量 FlexVersion
【发布时间】:2015-07-30 11:48:29
【问题描述】:

我找到了几篇与变量 FlexVersion 和错误 1065 相关的文章,但似乎没有任何帮助。

编辑:我已经尝试实施几个指南,将图像嵌入到 flashDevelop 中,结果相同。一切正常,直到我尝试添加嵌入的图像,然后我得到上述错误。

这里没有人看到这个错误吗?

我的班级(为了查明问题,我已经将其删除了):

package {
import flash.display.Sprite;
import flash.display.Bitmap;

public class JMouse extends Sprite {
    [Embed(source = "../lib/jacobsLadder.png")]
    private var Picture:Class;
    //private var pic:Bitmap = new Picture(); // THIS LINE

    public function JMouse() {
        init();
    }
    private function init():void {
    }
}

当“THIS LINE”行没有被注释掉时抛出错误。我尝试将“作为位图”添加到这一行的末尾,但没有运气。 我从我的文档类中调用这个类:

jMouse = new JMouse();

文件 jacobsLadder.png 位于我的 lib 文件夹中,我使用 FlashDevelop 来“生成嵌入代码”。 我正在为 .NET 3.5 使用 FlashDevelop 5.0.1.3

有什么想法吗?

编辑:根据建议,我也尝试了这个(以及类似的变体): “您可以在变量声明范围内运行的代码类型是有限的。创建 Picture 的实例需要解码,因此此时会失败。而是在实例方法或构造函数中创建您的 Picture 实例。”

[Embed(source = "../lib/jacobsLadder.png")]
    public static var Picture:Class;

    public function JMouse() {
        var pic:Bitmap = new Picture();
        init();
    }

但我得到了同样的错误。

【问题讨论】:

  • 您是否尝试过在 JMouse 构造函数中实例化 pic 而不是您当前正在执行的位置?
  • 我刚刚做了,现在(可能又一次 :)),在构造函数中声明 var 并在顶部声明它并在构造函数中添加一个实例......不走运。

标签: actionscript-3 embedded-resource


【解决方案1】:

您可以在变量声明范围内运行的代码类型是有限的。创建 Picture 的实例需要解码,因此此时将失败。而是在实例方法或构造函数中创建您的 Picture 实例。

【讨论】:

  • 我在构造函数中试过这些:: pic = new Picture() as Bitmap;和图片=新图片(); ...这也失败了...你是这个意思吗?
【解决方案2】:

回答:使用加载器加载位图数据。

虽然 OP(我)在问如何嵌入文件,但“错误 #1065:变量 FlexVersion 未定义”的神秘问题显然是一个无法克服的问题,我希望其他任何可能遇到的人问题可能会在以下方面得到安慰(由 John Mark Isaac Madison 等人提供): How do you load a bitmap file into a BitmapData object?

虽然本身不​​是一个答案,但它至少允许 OP 继续他的工作,而不是点燃他的房子。

【讨论】:

    猜你喜欢
    • 2011-11-03
    • 2019-03-25
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2015-09-28
    相关资源
    最近更新 更多