我需要使用OSMF创建一个视频播放器。我想从actionscript文件中分离我们的mxml文件。我怎样才能做到这一点 ?我有一个actionscript类文件,我想在加载mxml时执行它的构造函数。
我添加了creationComplete =“initApp()”,在initApp上我调用了var p = new myclass();
。现在在myclass()中我试图以编程方式添加标签
my_player.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- controls\videoplayer\VideoPlayerSimple.mxml-->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initApp()"
>
<fx:Script>
<![CDATA[
public function initApp(){
var p = new my_player("a");
}
]]>
</fx:Script>
</s:Application>
my_player.as
package
{
import mx.controls.Label;
import mx.core.Application;
import mx.events.FlexEvent;
import spark.components.Application;
public class my_player extends spark.components.Application
{
public function convey_player(a:String){
var label:Label = new Label();
label.text = "Testxxx";
addElement(label);
Alert.show("Hello");
}
}
}
但闪光灯没有添加任何内容。我错过了什么吗?
答案 0 :(得分:2)
构造函数仅在创建对象js的实例时运行。如果要运行构造函数代码,则必须创建它的实例。在MXML文件中为creationComplete事件添加事件侦听器,并在那里创建ActionScript对象的实例。
这将在MXML代码完成其创建过程之后有效地执行ActionScript类构造函数代码,作为其组件生命周期的一部分。