使用FLEX 和 Actionscript开发FLASH-9-3-1
2010年12月04日
使用FLEX和Actionscript开发FLASH 游戏-定义一个级别
Level.as package { import flash.events.*; import flahs.geom.*; import flash.media.*; import flash.net.*; import flash.utils.*; import mx.collections.ArrayCollection; import mx.core.*; public class Level { protected static var instance:Level=null; protected static const TimeBetweenElements:Number=2; protected static const TimeBetweenClouds:Number=2.5; protected static const TimeToLevelEnd:Number=2; protected var nextDefinitions:Array=null; protected var levelID:int=0; protected var totalTime:Number=0; protected var timeToNextLevelElement:Number=0; protected var levelElementGraphics:ArrayCollection=new ArrayCollection(); protected var timeToNextCloud:Number=0; protected var timeToLevelEnd:Number=0; protected var backgroundMusic:SoundChannel=null; public var levelEnd:Boolean=false; static public function get Instance():Level { if(instance==null) instance=new Level(); return instance; } public function Level() { levelElementGraphics.addItem(ResourceManager.Small IslandGraphics); levelElementGraphics.addItem(ResourceManager.BigIs landGraphics); levelElementGraphics.addItem(ResourceManager.Volca noIslandGraphics); } public function startup(levelID:int):void { timeToNextLevelElement=0; new Player().startupPlayer(); timeToLevelEnd=TimeToLevelEnd; levelEnd=false; backgroudnMusic=ResourceManager.Track1FX.play(0,in t.MAX_VALUE); this.totalTime=0; this.levelID=levelID; nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,0); } public function shutdown():void { backgroundMusic.stop(); backgroundMusic=null; } public function enterFrame(dt:Number):void { totalTime+=dt; if(nextDefinitions==null) { if(Enemy.pool.NumberOfActiveObjects==0) levelEnd=true; } else { var nextLevelDefTime:Number=(nextDefinitions[0] as LevelDefinitionElement).time; if(totalTime>=nextLevelDefTime) { for each(var levelDefElement:LevelDefinitionElement in nextDefinitions) levelDefElement.func(); nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,nextLevelDefTime); } }
2010年12月04日
使用FLEX和Actionscript开发FLASH 游戏-定义一个级别
Level.as package { import flash.events.*; import flahs.geom.*; import flash.media.*; import flash.net.*; import flash.utils.*; import mx.collections.ArrayCollection; import mx.core.*; public class Level { protected static var instance:Level=null; protected static const TimeBetweenElements:Number=2; protected static const TimeBetweenClouds:Number=2.5; protected static const TimeToLevelEnd:Number=2; protected var nextDefinitions:Array=null; protected var levelID:int=0; protected var totalTime:Number=0; protected var timeToNextLevelElement:Number=0; protected var levelElementGraphics:ArrayCollection=new ArrayCollection(); protected var timeToNextCloud:Number=0; protected var timeToLevelEnd:Number=0; protected var backgroundMusic:SoundChannel=null; public var levelEnd:Boolean=false; static public function get Instance():Level { if(instance==null) instance=new Level(); return instance; } public function Level() { levelElementGraphics.addItem(ResourceManager.Small IslandGraphics); levelElementGraphics.addItem(ResourceManager.BigIs landGraphics); levelElementGraphics.addItem(ResourceManager.Volca noIslandGraphics); } public function startup(levelID:int):void { timeToNextLevelElement=0; new Player().startupPlayer(); timeToLevelEnd=TimeToLevelEnd; levelEnd=false; backgroudnMusic=ResourceManager.Track1FX.play(0,in t.MAX_VALUE); this.totalTime=0; this.levelID=levelID; nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,0); } public function shutdown():void { backgroundMusic.stop(); backgroundMusic=null; } public function enterFrame(dt:Number):void { totalTime+=dt; if(nextDefinitions==null) { if(Enemy.pool.NumberOfActiveObjects==0) levelEnd=true; } else { var nextLevelDefTime:Number=(nextDefinitions[0] as LevelDefinitionElement).time; if(totalTime>=nextLevelDefTime) { for each(var levelDefElement:LevelDefinitionElement in nextDefinitions) levelDefElement.func(); nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,nextLevelDefTime); } }