我试图编写一个程序,在As3中加载带有元数据标签的外部资源

时间:2012-09-02 08:19:24

标签: actionscript-3

我已经做了一些工作要做,但我似乎无法理解为什么它不起作用.. 我认为我使用了错误的方法, 我试图在同一个舞台上加载一张图片和一个动画片段。 虽然香港专业教育学院设法显示一个图片,但当我尝试显示一个MovieClip ..虽然我运行时没有错误,我得到以下内容:

TypeError:错误#1034:类型强制失败:无法将LoadingFiles_MovingStars1 @ 2aba161转换为flash.display.Bitmap。在LoadingFiles()[C:\ Users \ user \ Adob​​e Flash Builder 4.5 \ LoadingFiles \ src \ LoadingFiles.as:28

这是代码,

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

[SWF(width = "800", height = "600", frameRate = "30", backgroundColor="#FFFF00")]
public class LoadingFiles extends Sprite
{
    [Embed(source="/../assets/Head.jpg")]
    protected var MovingStars:Class;

    [Embed(source="/../assets/water1.mp4", mimeType = "application/octet-stream")]
    public var MovingStars1:Class;

    public function LoadingFiles()
    {
        stage.scaleMode = StageScaleMode.NO_SCALE;

        // swf
                var myStars:Bitmap = new MovingStars(); 

        var myPic:Bitmap = new MovingStars1(); // 
        var yourPic:MovieClip = new MovingStars1();

        myStars.x = (stage.stageWidth-myStars.width)/2;
        myStars.y = (stage.stageHeight-myStars.height)/2;

        addChild(myPic as MovieClip);
        addChild(yourPic);
        addChild(myStars);
    }
}
}

现在我写了那段代码,但它不起作用.. 我真的很紧张,因为我在课堂上落后了一点..

帮助非常感谢。 谢谢。

2 个答案:

答案 0 :(得分:1)

您正尝试将嵌入的.mp4文件实例化为Bitmap或MovieClip。这是不可能的,您需要创建视频播放器或使用已有的视频播放器组件。 这是一个更深入的答案: How to make an AS3 Flash video player?

答案 1 :(得分:0)

嵌入图片时

[Embed(source="/../assets/Head.jpg")]
protected var MovingStars:Class;  

您的MovingStars是BitmapAsset类。这是Flex SDK中包含的类。所以你需要预加载Flex SDK rsl。或者将Flex SDK库配置为合并为代码。

您使用的是什么IDE?