Как правильно сделать "переключатель" для игровых экранов?
1 экран - меню
2 экран - выбор персонажа 3 экран - выбор снаряжения 4 экран - игра Скажите как правильно работать с экранами, может есть какой то урок на эту тему. Мне приходит в голову каждый экран создать классом на базе sprite, и из меню по onClick делать addChild(например 2 экран). Далее я выбрал персонажа и опять же по onClick что я делаю? Как правильно удалить себя со сцены и добавить следующий? |
синглтон Layers с методами showChar, showGame, showMenu в данном случае пожалуй самый удобный вариант
|
либо экраны имплементят интерфейс IShowable с методами show/hide + класс StageMediator,хранящий ссылку на stage/root и добавляющий экраны когда надо.
|
Цитата:
Если в main.as написать функцию которая будет делать addChild и removeChild по переданому ей параметру, а параметром будет выступать класс экрана. То как в AS передавать этот класс функции? |
в as есть класс Class,но лучше его не использовать т.к. с его помощью можно передать в функцию все что угодно.Правильнее будет завести класс или интерфейс Showable от которого и наследовать все экраны и передавать не класс, а экземпляр класса.
|
Цитата:
Цитата:
|
передача класса в метод:
Код AS3:
Код AS3:
|
Цитата:
Код AS3:
Цитата:
|
у тебя классическая путаница понятий класс/экземпляр класса.Советую таки почитать что-нибудь по ооп чтоб не плавать в терминологии(хоть мука того же самого).Например что делает эта строка:
Код AS3:
2)Создается экземпляр\объект класса/типа Menu(new Menu()), ссылка на свежесозданный объект кладется в переменную MenuScreen. Короче класс - это просто описание типа данных(какую информацию он содержит и что может с ней делать).Экземпляр класса - то, что получается в результате работы оператора new.Т.е. классов обычно немного, а объекты могут штамповаться сотнями. Дальше Цитата:
Код AS3:
Цитата:
|
Цитата:
Код AS1/AS2:
Спасибо за развернутый ответ! |
Часовой пояс GMT +4, время: 11:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.