Contenu connexe
Plus de Shanda innovation institute (14)
[Flash开发者交流][2010.07.24]flash全站开发框架web base(吴志华)
- 5. 1 . 纯 AS 开发高手,用于 WEB 应用项目 , 实现模块式的开发。 2 . 喜欢靠 AS2 的自由性开发 Flash 全站或善未完成 AS3 技术蜕变的人。 3 . 工作喜欢“偷懒”又追求原创与细节的设计师。 4 . Flash 艺术高手并略懂 AS 编程的技术贵族。
- 6. WebBase 能做什么? 01 . 快速地实现模块建立与调用。 02 . 可以轻松地实现伪地址与标题 。 03 . 支持状态值的记录管理。 04 . 很方便地实现更换页面时的过渡动画。 05 . 垃圾回收机制。 06 . Flash 基于 IE 的尺寸控制与自适应能力。 07 . 互访功能。 08 . IE 控制能力。 09 . 基于 IE 的 DeBug 功能。 10 . 辅助工具。
- 10. openPage 页面调入方法 openPage(path:String, target:String = "blank", usePlayEnd:Boolean = false, waitTime:uint = 0):void @param path 要打开的页面,使用 XML 菜单中的 ID 值 @param target 加载的目标,值可以是 BLANK,TOP,PARENT @param usePlayEnd 使用尾动画 @param waitTime 旧 SWF 移除后可能还要等待别的动画执行完毕再加载新的 SWF ◎ 页面调入与模块加载 Example: openPage("about",BLANK,true); addEventListener (LoadSwfEvent.PROGRESS,childProgress )// 子页加载进度 addEventListener (ParentEvent.ADD_CHILD, addSwfFile);// 子 SWF 被添加载舞台时触发事件 function childProgress(event:LoadSwfEvent): void { var getPct: uint = event.bytesPct; trace (getPct+ " %") } function addSwfFile(event:ParentEvent): void { addChild (event.loader); }
- 11. ◎ 页面调入与模块加载 loadModule 模块加载方法 Example: var module:IloadInfo=loadModule("childModule.swf") module. addEventListener (LoadModuleEvent.COMPLETE,loadComplete) function loadComplete(e:LoadModuleEvent): void { var pb:ParentBase = e.module as ParentBase; }
- 13. <data> <menu height= "600" title= "About us" id= "about" file= "about.swf" /> <menu height= "900" title= "My project" id= "project" file= "work.swf" /> <menu height= "700" title= "News&Message" id= "blog" file= "news.swf" /> <menu height= "600" title= "Contact" id= "contact" file= "guestbook.swf" /> </data> XML 菜单配置
- 14. package com.webBaseDemo { import com.webBase.ParentBase; import com.webBase.event.ParentEvent; import flash.display.Loader; public class Main extends ParentBase { public function Main() { this.addEventListener( ParentEvent .ADD_CHILD, addSwfFile); } private function addSwfFile(event: ParentEvent ):void { var loader: Loader = event.loader this.addChild(loader); } } } Index code:
- 16. ◎ 建立页面过渡动画 this. addEventListener ( ChildEvent .END_PLAY, startPlay)// 开始播放结束动画 private function startPlay(value: ChildEvent ): void { mc. gotoAndPlay ("end"); } [ 演示 ]
- 17. ◎ 互访功能 a.swf => public function setValue(str: String ): void { }; b.swf => var acode:ACode = parentPage as ACode; acode.setValue("abc")
- 18. ◎ DeBug 能力 1.traceWin(value: Object ): void 2.JSAlert(script: Object ): void 3.debugMode: Boolean [read-write] Example: traceWin(1+1) traceWin(this) Example: JSAlert("abc")
- 19. ◎ 伪地址与状态值 伪地址: http://localhost/webbase/#/ about / tag2 采用多个SWF来实现某一种交互时使用 状态值: http://localhost/webbase/#/about- tag2 [ 演示 ] 采用一个SWF来实现不同模块的交互时使用
- 20. Example1: openPage(" about "); ◎ 伪地址与状态值 Example2: addState(value:String); delState(value:String); clearState(); addEventListener (StateEvent.GET_STATE, getParamStates) function getParamStates(event:StateEvent): void { traceWin(event.states[0]); }
- 22. ◎ 工具包 control.addFavorite(url:String="",title:String="") // 加入收藏夹,可兼容不同浏览器 control.fullScreen(intoCallBack:Function,exitCallBack:Function) Example: control.fullScreen(intoFun,exitFun) function intoFun():void{ traceWin(" 进入全屏模式 ") } function exitFun():void{ traceWin(" 退出全屏模式 ") }
- 23. control.frameScript(mc:MovieClip,frame:Object,callBack:Function):void // 在帧上添加代码 Example: control.frameScript(mc, "end", callFun) function callFun():void { //Your code } effect.buttonEffect(target:DisplayObject,changeTarget:DisplayObject,obj:Object):void // 对象过渡效果,当鼠标滑入滑出某一显示对象时产生过渡变化 Example: buttonEffect(butMc,butMc.bg,{startColor: 0xC29C6A, overColor:0xC29C6A}); ◎ 工具包 net.loadBg(filePath:String,width:uint,height:uint,mode:String="matrix") 加载背景图片 , 格式为 jpg,png 或 gif 图片 @param filePath 图片路径 @param width 背景宽 @param height 背景高 @param mode 显示模式: matrix: 矩阵平埔 ( 默认 ) , stretch: 拉伸 ,center: 居中
- 24. ◎ 工具包 net.loadXML(filePath:String,callback:Function,gbCode:Boolean,useXML:Boolean):URLLoader XML 或者 txt 文件加载 @param filePath 文件路径 @param callback 回调函数 , 如果加载 XML, 函数参数为 XML, 如 function getXML(xml:XML) @param gbCode 是否使用中文编码 , 默认是 @param useXML 是否返回 XML 格式 , 默认是 loadFile(filePath:String, callback:Function = null):Loader // 加载外部文件, jpg,png,gif 图片及 SWF 文件
- 25. net.bgSound():BgSound Example: net.bgSound.path = "webbase/config/music.mp3";// 设置背景音乐 net.bgSound.soundEffect = true;// 是否使用声音缓入缓出效果 net.bgSound.volume = 30;// 音量, 0-100 net.bgSound.play();// 开始播放 net.bgSound.stop();// 声音停止 ◎ 工具包
- 26. ◎ 工具包 位图文字转换 style.bitmapFont(sourceTxt:TextField, showText:String, txtFormat:TextFormat, wid:Number, sharp:Boolean) :Sprite @param sourceTxt 文字模板 @param showText 显示文字 @param txtFormat 文本样式 @param wid 强制宽度 @param sharp 是否使用未消除锯齿功能 Example: var txtFormat:TextFormat = new TextFormat(" 隶书 ",15,0x990000); var bf:Sprite = new BitmapFont(textExalpme," 测试文本 abcdefg",txtFormat); addChild(bf)