Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.07.2011, 23:45
savva вне форума Посмотреть профиль Отправить личное сообщение для savva Найти все сообщения от savva
  № 1  
Ответить с цитированием
savva
[+ 06.08.11]

Регистрация: Jul 2011
Сообщений: 79
По умолчанию 2D menu в 3D Scene.

Здравствуйте.

Есть несколько вопросов по данной теме.

Есть класс сцена в которую передаётся xml файл со всеми объектами написан свой парсер и прочее,в общем всё работает.Требуется разработать меню 2D. Вся работа со stage (всякие oncontextCreate onEnterFrame) производится в классе сцена.

Соответственно вопрос такой как всё это организовать?

В menu должны быть кнопки которые будут влиять на камеру в сцене. Соответственно в класс нужно передавать stage (или stage3d) и камеру.

Нужно ли что-то будет менять в классе сцена?(onEnterFrame) или я просто создам объекта класса 2dMenu добавлю в stage и всё. Есть ли смысл добавлять menu в уже существующий XML файл с объектами или лучше создать для меню отдельный XML файл и сделать ещё один парсер для меню.

Ещё вопрос такой. По щелчку на определённую кнопку должен вызваться код с анимацией (допустим передвигать объект x+=10; каждые 2-3 сек или каждый кадр),как я понимаю тут нужно
Код:
// Естественно это делается в классе 2dMenu
addeventListner(MouseEvent.onMouseclick, anim);
private function anim(e:Event):void
{
.....
// Анимация объекта
}
Как я себе представляю я должен это передать в класс Scene (в который импортируется класс меню и создаётся объект класса меню) и добавить в onEnterFrame чтобы производилось передвижение.Или как-то так.
Нужно направить меня тут в нужное русло,поскольку очень смутно представляю себе как это сделать.

Может вообще стоит этот класс Menu писать в файле класса Scene и делать его private?

Извините за формулировки и сумбурность,пишу как думаю.


Последний раз редактировалось savva; 23.07.2011 в 00:46.
Старый 23.07.2011, 16:32
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Меню, по идее, должно находиться в другом контейнере, выше вашего экземпляра 3д сцены. И меню не должен создавать сам экземпляр 3д сцены. Его должен создавать контроллер игры, который создает и 3д сцену тоже.
__________________
тут я

Старый 23.07.2011, 22:00
savva вне форума Посмотреть профиль Отправить личное сообщение для savva Найти все сообщения от savva
  № 3  
Ответить с цитированием
savva
[+ 06.08.11]

Регистрация: Jul 2011
Сообщений: 79
Ну как я понял из Molehill, 2D информация всегда отображается поверх 3D. И соответственно будет создан какой-то контейнер из возможностей flash а не 3D движка который я использую( Alternativa3D)

Меню ничего не создаёт,он только задаёт некоторые действия для сцены(выполнение сценария или передвижение камеры).

В смысле контроллер игры?

Добавлено через 43 часа 20 минут
Не знаю можно ли так делать -up!

Ни каких идей пока не пришло мне в голову.

Старый 26.07.2011, 02:12
S-ed вне форума Посмотреть профиль Отправить личное сообщение для S-ed Найти все сообщения от S-ed
  № 4  
Ответить с цитированием
S-ed
 
Аватар для S-ed

Регистрация: Jul 2001
Адрес: SPb.RU
Сообщений: 148
Отправить сообщение для S-ed с помощью ICQ
Контроллер - класс который создает интерфейс, мир, и время.
Да, в молехилл 3д само по себе, и рисуется позади 2д.
Код AS3:
// Естественно это делается в классе 2dMenu
addeventListner(MouseEvent.onMouseclick, anim);
private function anim(e:Event):void
{
.....
// Анимация объекта
}
Подход неверен (как вы будете поддерживать анимацию?). Используйте время. В том или ином виде.
Как пример, пусть это будет таймер, который будет диспатчить сообщения о том что идет анимация, объекты будут слушать эвент и перемещаться.
__________________
RTFM

Старый 26.07.2011, 13:38
savva вне форума Посмотреть профиль Отправить личное сообщение для savva Найти все сообщения от savva
  № 5  
Ответить с цитированием
savva
[+ 06.08.11]

Регистрация: Jul 2011
Сообщений: 79
Так я поэтому и спрашиваю поскольку плохо представляю как подходить к решению данной проблемы.

И что значит поддерживать анимацию,я не совсем понял.

А можно пример с таймером и dispatch event смотрел пробовал но не получалось,желательно пример с комментариями.

Мне Event нужно будет похоже передавать вместе с объектом в XML файле как мне после парсинга прикрутить будет к кнопке динамически анимацию?

Xml файл нужно будет разделять на меню и сцену или можно засунуть меню в XML сцены написать свой объект MenuObject и передавать в конструктор Menu или передавать XMLList в конструктор.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.