Flash(as3.0) CScreen
发布时间:2020-12-15 06:50:08 所属栏目:百科 来源:网络整理
导读:package com.game.mr{import flash.display.*;import flash.events.*;// 游戏屏幕管理 v1.0 by mrexepublic class CScreen extends MovieClip {private static var mc_Screen:MovieClip;private static var mc_arry:Array;public function CScreen() {mc_Scr
package com.game.mr{ import flash.display.*; import flash.events.*; // 游戏屏幕管理 v1.0 by mr&exe public class CScreen extends MovieClip { private static var mc_Screen:MovieClip; private static var mc_arry:Array; public function CScreen() { mc_Screen = new MovieClip(); mc_arry = new Array(); this.addChild(mc_Screen); } public static function onFrame(e:Event):void { if (mc_arry.length>=1) { if (e.target.currentFrame==e.target.totalFrames) { mc_Screen.removeChild(e.target as MovieClip); mc_arry.shift(); } } } public static function addScreen(mc:DisplayObject):void { mc_Screen.addChild(mc); mc_arry.push(mc); mc.addEventListener(Event.ENTER_FRAME,onFrame); } public static function removeScreen(mc:DisplayObject):void { mc_Screen.removeChild(mc); } public static function removeOScreen():void { for (var i=0; i<mc_Screen.numChildren; i++) { mc_Screen.removeChild(mc_Screen.getChildAt(i)); } } } } 版本更新至v1.1 package classes{ import flash.display.*; import flash.events.*; // 游戏屏幕 v1.1 by mr&exe public class CScreen extends MovieClip { private static var mc_Screen:MovieClip; private static var mc_arry:Array; private static var b_play:Boolean == false; public function CScreen() { mc_Screen=new MovieClip ; mc_arry=new Array ; this.addChild(mc_Screen); stage.addEventListener(Event.ENTER_FRAME,onFrame); } // 帧函数 private static function onFrame(e:Event):void { if (mc_arry.length >= 1 && b_play == false) { mc_arry[0].addEventListener(Event.ENTER_FRAME,onFrameEvent); b_play=true; } } private static function onFrameEvent(e:Event):void { if (e.target.currentFrame == e.target.totalFrames) { mc_Screen.removeChild(e.target as MovieClip); mc_arry.shift(); b_play=false; mc_arry[0].addEventListener(Event.ENTER_FRAME,onFrame); } } public static function addScreen(mc:DisplayObject):void { mc_Screen.addChild(mc); mc_arry.push(mc); } public static function removeScreen(mc:DisplayObject):void { mc_Screen.removeChild(mc); } public static function removeOScreen():void { for (var i=0; i < mc_Screen.numChildren; i++) { mc_Screen.removeChild(mc_Screen.getChildAt(i)); } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |