Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 对图像使用MovieClip或BitmapData的替代方案?_Image_Actionscript 3_Flash_Oop_Embed - Fatal编程技术网

Image 对图像使用MovieClip或BitmapData的替代方案?

Image 对图像使用MovieClip或BitmapData的替代方案?,image,actionscript-3,flash,oop,embed,Image,Actionscript 3,Flash,Oop,Embed,两天来,我一直在寻找一种替代方法,以将图像加载到我当前的项目中。我使用AdobeFlashProfessionalCS6作为我的IDE和动画程序。我希望能够在我的应用程序中显示图像。我想做的是让图像显示在屏幕上,用户输入与图像相关的PLU,如果PLU正确,他们就会收到一个点。我还有其他的事情要做,但我就是找不到一个有效的方法来处理加载图像。 现在,我用这个来完成在显示器上显示我的图像: var myDisp:Layer0 = new Layer0(); var bmp:Bitmap = new

两天来,我一直在寻找一种替代方法,以将图像加载到我当前的项目中。我使用AdobeFlashProfessionalCS6作为我的IDE和动画程序。我希望能够在我的应用程序中显示图像。我想做的是让图像显示在屏幕上,用户输入与图像相关的PLU,如果PLU正确,他们就会收到一个点。我还有其他的事情要做,但我就是找不到一个有效的方法来处理加载图像。 现在,我用这个来完成在显示器上显示我的图像:

var myDisp:Layer0 = new Layer0();
var bmp:Bitmap = new Bitmap(myDisp);
spDispBox.addChild(bmp);
上面的代码只适用于查找,但我无法绕过的限制是,我必须将每个图像导入库中,然后连续地对每个部分进行编码。我想坚持OOP并简化这个过程,我只是不知道我应该转向哪里才能实现我的项目目标。我非常乐意提供更多的信息。谢谢大家

2014年7月26日-更新:我现在同意XML是一条出路。我只是很难掌握如何加载外部XML文件。我一直在跟进,但还是不太明白。我了解如何创建新的XML数据对象、加载器和URLRequest。它正在加载图片。我已经能够通过在函数中使用trace来获取输出,以查看XML是否已加载,但是当我将XML数据对象添加到stage时,得到的是一个空对象引用


我将尝试更多的事情,我只是想更新情况。再次感谢各位。

这些图片似乎在您的FLA库中。为了简化代码,您可以创建一个单例类,您可以将其命名为ImageFactory(factory design pattern),并在需要返回精灵(比MovieClip轻)的图像时调用该类

在你的工厂里

public function getImageA():DisplayObject {
    var image:Layer0 = new Layer0(); // image from the FLA library
    var holder:Sprite = new Sprite();
    holder.addChild( new Bitmap( image ) );
    return holder;
}

还建议使用比Layer0更具描述性的名称

您可以创建一个XML配置文件,通过
Loader
加载该文件,然后迭代该文件并从服务器加载相关图片。否则,您需要生成一组代码,其中包含
[embed…]const LayerXX:Class每个图像,以及用这些类生成数组的方法。谢谢,我将在go中使用XML配置文件。我会发布我的结果,让其他人知道它是如何为我工作的。这取决于图片的大小。你可以用它们做一张雪碧纸。然后您只需要加载一个图像,然后在代码中您可以将其切分为正确的部分。如果您有相当大的图像和很多图像,这不是最好的,我会选择配置文件。您可以使用xml来实现这一点,您可以了解如何使用xml来实现这一点。
public function getImageA():DisplayObject {
    var image:Layer0 = new Layer0(); // image from the FLA library
    var holder:Sprite = new Sprite();
    holder.addChild( new Bitmap( image ) );
    return holder;
}