Рассмотрим пример ООП кода, где главный герой - кубик, описан в отдельном классе Cube.as
Главный класс запуска игры Main.as:
Общий класс игры Game.as
Класс кубика Cube.as:
Класс описания загруженной графики, который возвращает текстуру Assets.as:
Главный класс запуска игры Main.as:
package { import flash.display.Sprite; import starling.core.Starling; //Устанавливаем для игры частоту 60, и разрешение 640 на 480, с черным фоном [SWF(frameRate="60", width="640", height="480", backgroundColor="0x000000")] public class Main extends Sprite { private var _starling:Starling; //Движок //-------------------------------------------------------- public function Main():void { //запускаем движок, класс Game - вход _starling = new Starling(Game, stage); _starling.antiAliasing = 1; //Сглаживание _starling.start(); } } }
Общий класс игры Game.as
package { import starling.display.Sprite; //Уже не flash, а starling import starling.events.Event; public class Game extends Sprite { private var objCube:Cube; //Кубик public function Game() { super(); this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage(e:Event):void { //Добавляем кубик objCube = new Cube; //От класса Cube this.addChild(objCube); objCube.x = 10; objCube.y = 10; } } }
Класс кубика Cube.as:
package { import flash.display.Bitmap; import starling.core.Starling; //Ядро движка import starling.textures.Texture; //Текстуры import starling.display.Sprite; import starling.display.Image; import starling.events.Event; //События public class Cube extends Sprite { private var objCube:Image; public function Cube() { super(); this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage():void { this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); //Добавляем кубику текстуру objCube = new Image(Assets.getTexture()); this.addChild(objCube); } } }
Класс описания загруженной графики, который возвращает текстуру Assets.as:
package { import flash.display.Bitmap; import starling.textures.Texture; public class Assets { //Загружаем картинку [Embed(source="../sprites/cube.png")] public static const CubeArt:Class; public static function getTexture():Texture { var bitmap:Bitmap = new Assets["CubeArt"]; var texture:Texture = Texture.fromBitmap(bitmap); //Возвращаем текстуру return texture; } } }
Комментариев нет:
Отправить комментарий