![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2014
Сообщений: 27
|
Решил разобраться с ООП в as3.0 на примере создания игры.
Игра будет иметь несколько локаций, на каждой из которых нужно выполнить определенные действия для перехода к следующей. На первом этапе игра не будет иметь инвентаря и решение головоломок должно осуществляться по простой схеме - определенной последовательности взаимодействия с интерактивными объектами. Игру продумал, но испытываю трудность с правильным созданием архитектуры. Вот список классов, которые я планирую создать:
Приведу код в котором я частично пытаюсь отразить данную структуру. Game.as package src { import flash.display.MovieClip; import flash.display.Stage; import flash.events.Event; import src.DisplayManager; public class Game extends MovieClip { // Переменные public static var STAGE:Stage; // Конструктор public function Game() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } // Методы класса private function init(e:Event = null):void { STAGE = this.stage; } } } DisplayManager.as package src { import flash.display.MovieClip; import flash.display.Stage; import flash.display.DisplayObject; import flash.events.MouseEvent; import flash.events.Event; import src.Main; public class DisplayManager extends MovieClip { // Экземпляры public var location1:Location1 = new Location1(); public var location2:Location2 = new Location2(); // Переменные public var currentDisplay = 0; // Конструктор public function DisplayManager() { // Координаты location1.x, location1.y = 0; location2.x, location2.y = 0; // Слушатели location1.addEventListener(MouseEvent.CLICK, displaySwitcher); } // Методы класса public function displaySwitcher(event:MouseEvent):void { switch (currentDisplay) { case 0: Main.STAGE.addChild(location1); break; case 1: Main.STAGE.addChild(location2); break; } currentDisplay++; } } } В результате программа запускается без ошибок, но и без добавления объектов - локаций на сцену. Крайне нуждаюсь в советах и подсказках. Последний раз редактировалось lesnoj; 16.09.2016 в 13:44. |
![]() |
Часовой пояс GMT +4, время: 12:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| классы , ООП |
|
|