为Flex SDK大量的命令行操作提供友好的用户界面...
暂时只有两个的功能,分别是生成API文档和打包类库
F.Assist主要用AS3,然后经由C#处理编译等相关命令..
先看看界面~

查看文章剩余部份

application.focusManager.setFocus(对象);
PopUpManager.createPopUp(Application.application as DisplayObject,ClassName,false);
textInput.setStyle("themeColor", 0x000000);
.errorTip{
fontSize:12px;
border-color:#333333;//注意背景颜色需要设置border-color;
}
creationPolicy="all";
-use-network=false;
RadioButtonGroup.selection=null;
ToolTipManager.hideDelay = 2500;
//MXML下的写法
<mx:Metadata>
[Event(name="youEventName",type="flash.events.Event")]
</mx:Metadata>
//AS下的写法
package{
[Event(name="youEventName",type="flash.events.Event")]
public function ClassName{}
}
//需要注意的是...
//]后面不需要写;号
//事件名和类名请使用双引号标注..
//使用单引号使用编译不会发生问题..
//不过FB3的IDE不会出现提示
//方法一 <mx:Script> <![CDATA[ import mx.managers.DragManager; import mx.managers.IPopUpManager; // 避免出现:无法将 mx.managers::PopUpManagerImpl@52a09a1 转换为 mx.managers.IPopUpManager 错误 private var dragManager:DragManager; private var popUpManager:IPopUpManager; ]]> </mx:Script> //方法二 //在ModuleLoader的creationComplete方法中加入如下代码 moduleLoader.applicationDomain = ApplicationDomain.currentDomain;
package
{
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.TextField;
import flash.text.TextFormat;
import mx.events.FlexEvent;
import mx.preloaders.DownloadProgressBar;
public class LoadingExampleProgressBar extends DownloadProgressBar
{
private var logo:Loader;
private var txt:TextField;
private var _preloader:Sprite;
public function LoadingExampleProgressBar()
{
logo = new Loader();
logo.load(new URLRequest("l4cd.png"));
addChild(logo);
var style:TextFormat = new TextFormat(null,null,0xFFFFFF,null,null,null,null,null,"center");
txt = new TextField();
txt.defaultTextFormat = style;
txt.width = 200;
txt.selectable = false;
txt.height = 20;
addChild(txt);
super();
}
//最重要的代码就在这里..重写preloader,让swf执行加载的时候~进行你希望的操作~
override public function set preloader(value:Sprite):void{
_preloader = value
//四个侦听~分别是 加载进度 / 加载完毕 / 初始化进度 / 初始化完毕
_preloader.addEventListener(ProgressEvent.PROGRESS,load_progress);
_preloader.addEventListener(Event.COMPLETE,load_complete);
_preloader.addEventListener(FlexEvent.INIT_PROGRESS,init_progress);
_preloader.addEventListener(FlexEvent.INIT_COMPLETE,init_complete);
stage.addEventListener(Event.RESIZE,resize)
resize(null);
}
private function remove():void{
_preloader.removeEventListener(ProgressEvent.PROGRESS,load_progress);
_preloader.removeEventListener(Event.COMPLETE,load_complete);
_preloader.removeEventListener(FlexEvent.INIT_PROGRESS,init_progress);
_preloader.removeEventListener(FlexEvent.INIT_COMPLETE,init_complete);
stage.removeEventListener(Event.RESIZE,resize)
}
private function resize(e:Event):void{
logo.x = (stage.stageWidth - 40)/2;
logo.y = (stage.stageHeight - 80)/2;
txt.x = (stage.stageWidth - 200)/2;
txt.y = logo.y + 40+5;
graphics.clear();
graphics.beginFill(0x333333);
graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
graphics.endFill();
}
private function load_progress(e:ProgressEvent):void{
txt.text = "正在加载..."+int(e.bytesLoaded/e.bytesTotal*100)+"%";
}
private function load_complete(e:Event):void{
txt.text = "加载完毕!"
}
private function init_progress(e:FlexEvent):void{
txt.text = "正在初始化..."
}
private function init_complete(e:FlexEvent):void{
txt.text = "初始化完毕!"
remove()
//最后这个地方需要dpe一个Event.COMPLETE事件..表示加载完毕让swf继续操作~
dispatchEvent(new Event(Event.COMPLETE))
}
}
}
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preloader="LoadingExampleProgressBar" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#333333, #333333]"> </mx:Application> //请自行增加一“大”体积的东西..必放到网上去测试...
相关源码 (142.0 KiB, 524 hits)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
private var _video:Video;
private function init():void{
_video = new Video(320,240);
v_Display.addChild(_video);
//获取cam对象.
_video.attachCamera(Camera.getCamera());
_video.width = 320
_video.height = 240
}
]]>
</mx:Script>
<mx:VideoDisplay id="v_Display" width="320" height="240"/>
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()"
>
<mx:Script>
<![CDATA[
private function init():void{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
]]>
</mx:Script>
</mx:Application>
现在保存运行一下swf,却有TypeError..详细信息如下
Main Thread (Suspended: TypeError: Error #1009: 无法访问空对象引用的属性或方法。) swf_fullscreen/init swf_fullscreen/___swf_fullscreen_Application1_creationComplete flash.events::EventDispatcher/dispatchEventFunction [no source] flash.events::EventDispatcher/dispatchEvent [no source] mx.core::UIComponent/dispatchEvent mx.core::UIComponent/set initialized mx.managers::LayoutManager/doPhasedInstantiation Function/http://adobe.com/AS3/2006/builtin::apply [no source] mx.core::UIComponent/callLaterDispatcher2 mx.core::UIComponent/callLaterDispatcher我们把init()修改一下,如果
private function init():void{
trace(stage)
}
运行保存运行swf,发现输入null,奇怪的事情发生了..stage竟然为null,那进行stage.displayState当然就报错了...
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="callLater(init)"
>
<mx:Script>
<![CDATA[
private function init():void{
stage.displayState = StageDisplayState.FULL_SCREEN;
}
]]>
</mx:Script>
</mx:Application>
我们在creationComplete事件里,使用callLater(init)来调用init,让init在进入下一侦的时候再全屏..<mx:button id="myButton" label="I'm a button!"/>查看文章剩余部份