FLASH教程:AS工程中Loading的应用
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
今天又来介绍Loading...(-_-!!!...好像整天都介绍Loading..希望没误导各位...) 首先..由于AS工程没有帧..所以不能用常用的方法来做Loading..这里介绍的方法使用元标签Frame(应该是元标签吧?还是叫元数据标签). 网上对Frame的介绍是...使用指定的类替换文档类...并把其它的东西都丢到了该类的第二帧... 概念就不多说了...英文好的可以看看这个文章... http://www.bit-101.com/blog/?p=946 先看看效果..(PS...Load完以后有CD的艳照喔...~~xixi); 放代码 Preloader类: 01.package 02.{ 03. import Flash.display.DisplayObject; 04. import flash.display.MovieClip; 05. import flash.display.StageScaleMode; 06. import flash.events.Event; 07. import flash.events.ProgressEvent; 08. import flash.text.TextField; 09. import flash.text.TextFormat; 10. import flash.utils.getDefinitionByName; 11. /** 12. * 加载类,由于原内容会放到此类的第二帧~所以需要使用MovieClip; 13. * @author L4cd.Net 14. */ 15. public class Preloader extends MovieClip 16. { 17. [Embed(source="l4cd_48_48.jpg")] 18. private var LOGOClass:Class; 19. private var text:TextField; 20. public function Preloader() 21. { 22. //不多说了 23. stage.scaleMode = StageScaleMode.NO_SCALE; 24. stage.showDefaultContextMenu = false; 25. //显示一张图片..非必要 26. with(addChild(new LogoClass())) 27. { 28. x=(500-48)/2; 29. y=(380-48)/2; 30. } 31. //加一个textField显示进度 32. text = addChild(new TextField()) as TextField; 33. with(text) 34. { 35. defaultTextFormat = new TextFormat("宋体",12,0,null,null,null,null,null,"center"); 36. mouseEnabled = false; 37. height = 16; 38. x = (500-100)/2; 39. y = 35+(380-15)/2; 40. } 41. //重要~侦听~ 42. loaderInfo.addEventListener(ProgressEvent.PROGRESS,progress); 43. loaderInfo.addEventListener(Event.COMPLETE,complete); 44. } 45. //显示进度 46. private function progress(e:ProgressEvent):void 47. { 48. text.text = (e.bytesLoaded/e.bytesTotal*100).toFixed(2)+"% Loaded"; 49. } 50. private function complete(e:Event):void 51. { 52. //重要..加载完后...我们跳转到第二帧 53. gotoAndStop(2); 54. //获取文档类...然后显示,对于此步操作..有多种方法..有人习惯直接把原文档类addChild到此类当中.. 55. var mainClass:Class = Class(getDefinitionByName("ASProjectLoadingExample")); 56. stage.addChild(new mainClass() as DisplayObject); 57. //删除此类 58. destroy(); 59. } 60. private function destroy():void 61. { 62. loaderInfo.removeEventListener(ProgressEvent.PROGRESS,progress); 63. loaderInfo.removeEventListener(Event.COMPLETE,complete); 64. parent.removeChild(this); 65. } 66. } 67.} AsProjectLoadingExample类: 01.package { 02. import flash.display.Bitmap; 03. import flash.display.BitmapData; 04. import flash.display.Sprite; 05. import flash.geom.Matrix; 06. 07. [SWF(width="500",height="380",backgroundColor="#FFFFFF",frameRate="24")] 08. //注意此行,Preloader为类名 09. [Frame(factoryClass="Preloader")] 10. public class AsProjectLoadingExample extends Sprite 11. { 12. [ |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于FLASH教程:AS工程中Loading的应用的所有评论