package { import D5Power.Controller.basicController; import D5Power.Objects.ActionObject; import D5Power.Objects.Base; import D5Power.Objects.gameObject; import D5Power.Objects.Item; import flash.events.TimerEvent; import flash.geom.Point; import flash.utils.Timer; import D5Power.Scene.D5Scene; import D5Power.Scene.gameScene; import flash.display.Bitmap; import flash.events.Event; import flash.display.Sprite; public class Main extends Sprite { private var mapconfig:Array = [ [0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0], [0, 2, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0], [0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0], [1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0] ]; public function Main() { var scene:D5Scene = new D5Scene(stage); // 声明游戏舞台 scene.setup(mapconfig); // 生成基地 var base:Base = new Base(new basicController(),new Skin_base()); base.x = (stage.stageWidth-base.width)/2; base.y = stage.stageHeight-base.height; Global.base = base; scene.addObject(base); // 显示游戏舞台 addChild(scene); var timer:Timer = new Timer(30000); timer.addEventListener(TimerEvent.TIMER, createItem); timer.start(); } private function createItem(e:TimerEvent):void { for each(var obj:gameObject in Global.scene.AllObject) { if (obj is Item) Global.scene.removeObject(obj); } var p:Point = getRandomPlace(); var item:Item = new Item(new item_upspeed()); item.x = item.width * p.x; item.y = item.height * p.y; Global.scene.addObject(item); } /** * 查找一个空的位置 * @return */ private function getRandomPlace():Point { var ry:uint = int(Math.random() * mapconfig.length); var rx:uint = int(Math.random() * mapconfig[0].length); if (mapconfig[ry][rx] == 0) return new Point(rx, ry); return getRandomPlace(); } } }