Реализация переходов по страницам только на классах

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
m1cky
Сообщения: 18
Зарегистрирован: 04 авг 2010, 17:56

Реализация переходов по страницам только на классах

Сообщение m1cky »

Помогите,пожалуйста,разобраться.
Не могу никак понять как реализовать вот это:
Допустим приложение состоит из 5 страниц, переходы одна на другую осуществляются по кнопкам.Т.е. так:
1 страница->кнопка->2 страница ->кнопка на ней -> 3-> кнопка и тд
Для того чтоб было понятно о чем я,например приложение http://vkontakte.ru/app712396
Там если нажимаешь кнопки, то попадаешь на разные странички и окна всплывают
Как это реализовать только в as файлах?
Т.е. привязываю Main.as как класс документа.Далее вызывается класс 1ой страницы в нем;
В классе 1ой страницы слушатель привязывается к кнопке,который по клику вызывает публичную функцию 2ой страницы и тд.Верно?Т.е. каждая страница и все окна должны быть написаны отдельными классами,и вызов их идет просто через вызов функции этих классов?Или как?
Help :( :?:


Просто на флэше,запихнул бы содержимое в разные кадры и перемещал бы посредством gotoAndStop(кадр).А как делается без флэша только на классах?
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: Реализация переходов по страницам только на классах

Сообщение Noise Gate »

Я бы сделал так.
Один класс является как бы "верхушкой" в модели отображения. Пусть будет называться Container.
В него помещаем другие классы, регистрируем слушателей, которые при необходимости генерируют всплывающее событие:

Код: Выделить всё

dispatchEvent(new Event("onSomeEvent", true));
А вот слушатель этого события зарегистрирован в Container. Когда событие происходит, Container просто меняет свое содержимое. Сначала удаляем всех потомков:

Код: Выделить всё

while (this.numChildren > 0) {    this.removeChildAt(0);}
а потом создаем других.

Как то так...
m1cky
Сообщения: 18
Зарегистрирован: 04 авг 2010, 17:56

Re: Реализация переходов по страницам только на классах

Сообщение m1cky »

Noise Gate,можно чуть подробнее?а то не до конца понял вашу идею...
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: Реализация переходов по страницам только на классах

Сообщение Noise Gate »

m1cky
а что именно поподробнее? или вообще ничего не понятно?)
m1cky
Сообщения: 18
Зарегистрирован: 04 авг 2010, 17:56

Re: Реализация переходов по страницам только на классах

Сообщение m1cky »

Noise Gate,
В смысле помощаем в контейнер классы?Зачем и какие?
По поводу второго,почему нельзя просто сделать для страницы каждой свой класс,а потом создавать экземпляры нужных классов при переходе на нужные страницы,ну соответственно удаляя прежнее содержимое с экрана в каждом классе?Разве так не проще?
Noise Gate
Сообщения: 691
Зарегистрирован: 28 апр 2010, 12:34

Re: Реализация переходов по страницам только на классах

Сообщение Noise Gate »

m1cky писал(а):По поводу второго,почему нельзя просто сделать для страницы каждой свой класс,а потом создавать экземпляры нужных классов при переходе на нужные страницы,ну соответственно удаляя прежнее содержимое с экрана в каждом классе?Разве так не проще?
Ну я это и имею ввиду. Каждая страница - отдельный класс. Просто находятся они во внешнем классе, который и управляет их сменой внутри себя.
catamount5
Сообщения: 63
Зарегистрирован: 10 авг 2010, 13:37

Re: Реализация переходов по страницам только на классах

Сообщение catamount5 »

Noise Gate писал(а):Я бы сделал так.
Один класс является как бы "верхушкой" в модели отображения. Пусть будет называться Container.
В него помещаем другие классы, регистрируем слушателей, которые при необходимости генерируют всплывающее событие
Я также поступаю.
В главный класс кладу листенеры, которые при необходимости добавляют (addChildAt) или убирают (removeChildAt) классы страниц
m1cky
Сообщения: 18
Зарегистрирован: 04 авг 2010, 17:56

Re: Реализация переходов по страницам только на классах

Сообщение m1cky »

Cпасибо,ребят,понял.
Тогда вопрос к catamount5 )А листенеры какие у тебя?
У меня просто например какой-то класс отрисовывает 3 кнопки внутри страницы,я разве не могу в нем создать слушатель и если он срабатывает,то функция зарегистрированная в слушателе удаляет все элементы со сцены и вызывает функцию другого класса?Т.е. получается как-бы по сути один класс управляет другим и тд,а в классе документа создается экземпляр только первой страницы,а дальше они друг друга вызывают.
Ответить