(7)新建3个影片剪辑,分别命名为Hours、Minutes和Seconds,然后分别在对应的影片剪辑中绘制出如图12-8所示时针、分针和秒针。

图12-8 绘制表秒针
Part 2 输入控制程序
(1)切换到“库”面板,然后分别为4个影片剪辑添加元件类,如图12-9所示。

图12-9 添加元件类
技巧与提示:
在前面步骤中只创建了4个影片剪辑元件,它们只存在于“库”面板中,当发布成swf文件时,此时查看swf文件则为空,因为没有编写任何程序来进行引用和控制,就相当于该swf文件中只包含4个元件类,下面将通过加载该swf文件来引用和创建其元件类实例。
(2)新建一个ActionScript文件,并将其保存为SkinManager,然后编写出加载皮肤的管理类程序。
AS3代码
| var skin_mc:SkinManager = SkinManager.getInstance(); skin_mc.loadSkin("skin/01.swf"); skin_mc.addEventListener("skincomplete",completeHandler); function completeHandler(e:Event) { var class_name:String = "Bg"; var _class:Class = skin_mc.getClass(class_name); var new_sprite:Sprite = new _class(); addChild(new_sprite); } |
AS3代码
| /** * 该类为皮肤加载管理类 * @author lbynet * @version 0.1 */ package { import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; import flash.events.EventDispatcher; public class SkinManager extends EventDispatcher { public static const SKINCOMPLETE:String="skincomplete"; private static var instance:SkinManager=new SkinManager(); public var loader:Loader; public function SkinManager() { if (instance != null) { throw new Error("不能直接创建对象"); } loader=new Loader(); } public static function getInstance():SkinManager { return instance; } public function loadSkin(path:String):void { loader.load(new URLRequest(path)); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler); } private function completeHandler(e:Event) { //移除侦听器 loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,completeHandler); dispatchEvent(new Event(SkinManager.SKINCOMPLETE));//发布事件 } public function getClass(className:String):Class { try { return loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class; } catch (e:Error) { throw new Error(className + " definition not found in " + e.toString()); } return null; } } } |
技术看板:关于SkinManager类涉及到的难点
有一定编程基础的用户很容易看出该类使用了很常用的“设计模式”中的单件模式,通过提供该类公有的静态方法getInstance()作为返回唯一的实例对象,并且可以对该实例进行全局访问。
情非得已
Flash CS4教程:制作调入式声音控制的按钮2009-10-22
Flash CS4教程:详细解析抓喜庆游戏教程2009-10-13
Flash AS3.0教程:制作3D旋转动画效果2009-09-01
Flash详细解析制作出的动画如何导出GIF
相关文章94122015-10-12
Flash制作遮罩图片切换特效教程
相关文章151672014-03-26
Flash制作牛奶摇摇杯实例教程
相关文章133692014-03-26
Flash教你如何制作蝙蝠在月夜里飞翔
相关文章218902014-03-22
Flash制作可爱吹泡泡动画效果教程
相关文章154212014-03-22
Flash教你制作悠闲来喝茶动画教程
相关文章56682014-03-22
Flash制作一幅诗意的水墨卷轴展开的动画
相关文章71862014-03-22
Flash制作有趣的亲嘴猪动画教程
相关文章76312014-03-22
