AS3 Starling:尝试添加视频

时间:2013-01-07 20:43:42

标签: actionscript-3 flash-builder starling-framework

我是一个完整的AS3 / Starling新手,但我正在尝试(以编程方式)将FLV视频文件添加到本质上是闪屏的“背景”。

我在网上找到的示例代码基本上是提炼到......     var v:Video = new Video(100,100);     this.addChild(V);

这适用于扩展flash.display.Sprite的顶级类,但是我的Game类(扩展starling.display.Spite)失败,抱怨“将类型Video的值隐式强制转换为不相关的类型的DisplayObject“。

奇怪的是,Starling Sprite类上的addChild函数的签名与Flash Sprite类的签名相同。

所以基本上问题是:为什么我似乎无法将Video对象作为子项添加到Starling Sprite类(但成功地添加到Flash Sprite类)?

我确定答案非常简单......如果我需要添加更多代码或任何内容,请告诉我。或者,如果我正在做的事情完全是错误的。

2 个答案:

答案 0 :(得分:3)

这是因为Starling框架被设计为模仿常规Flash DisplayList(尽管没有完全重新创建所有功能)。具体来说,您试图将引用传递给starling.display.DisplayObject类型的对象而不是flash.display.DisplayObject,这会产生相应的错误。

为了使用Starling播放视频,您可以将电影的每个帧上传到纹理。看看this topic on Starling's forum.

答案 1 :(得分:3)

或者您可以将视频添加到位于Starling上方的Flash图层:

Starling.current.nativeOverlay.addChild(V);

Starling.current.nativeOverlay.removeChild(V);

请记住,你并没有使用Starling GPU绘图。