【问题标题】:How to embed and display a png with FlashDevelop, Haxe and Swfmill如何使用 FlashDevelop、Haxe 和 Swfmill 嵌入和显示 png
【发布时间】:2009-07-12 05:40:27
【问题描述】:

我在使用 Haxe 和 FlashDevelop 构建的简单 Flash 应用程序中显示 png 文件时遇到问题。

采取的步骤

  • 将 png 文件添加到我的项目中。
  • 将 png 添加到库中
  • 设置选项嵌入为位图
  • 为“PlayerBitmap”对象设置一个ID
  • 验证生成的 xml 看起来正确

然后我尝试显示嵌入的图像:

var bitmap:Bitmap;
bitmap = new PlayerBitmap();
bitmap.x = 200;
bitmap.y = 200; 
addChild(bitmap);

代码编译并生成一个 swf 文件,但图像未显示。 有什么指点吗?

【问题讨论】:

    标签: flash flashdevelop haxe


    【解决方案1】:

    我通过创建两个简单的测试项目来加载图像解决了这个问题。 第一个有效,第二个失败。 有一个包的项目之间有一个区别。

    我的主要工作项目没有像这样编译的包 -main 主要

    失败的项目是相同的,只是主项目在一个包中,它像这样编译 -main org.alexjeffery.Main

    为了在我的 main 位于 org.alexjeffery 包中时加载图像,我将图像名称设置为 org.alexjeffery.PlayerBitmap 而不是 PlayerBitmap。

    我现在写了一篇关于如何embed images using FlashDevelop and Haxe的教程。

    【讨论】:

    • 如果链接仍然有效,会更好。也许忘记支付他的域名续费?
    【解决方案2】:

    当你追踪时你会得到什么

    • bitmap
    • bitmap.bitmapData.rect
    • 一些带有bitmap.bitmapData.getPixel的随机像素

    更新 1: 你的 PNG 可能是交错的,还是类似的? swfmill 有交错图像的问题,如果我没记错的话......

    问候

    back2dos

    【讨论】:

    • 这里是痕迹: Bitmap: [object Bitmap] bitmap.bitmapData.rect: (x=0, y=0, w=20, h=20) bitmap.bitmapData.getPixel(5, 5): 0 getPixel 不是我所期望的。当该点的源为红色时,它是黑色的。我有一个黑色背景,当我将其更改为白色时,我现在可以看到我的图像应该位于的黑色方块。由于某种原因,它正在加载黑色图像而不是实际图像。
    【解决方案3】:

    简单,打开项目的目录,然后进入源文件夹,然后将*.png文件粘贴到那里。 FlashDevelop 会自动检测到它们。

    【讨论】:

      【解决方案4】:

      您可能想查看 Haxe 手册上的此页面:
      http://haxe.org/manual/target-flash-resources.html

      基本上你需要:

      @:bitmap("relative/path/to/myfile.png") 
      class MyBitmapData extends BitmapData { }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-12
        • 2014-06-14
        • 1970-01-01
        相关资源
        最近更新 更多