Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
1

Интерфейс для игры на переднем плане

18.11.2013, 18:24. Просмотров 672. Ответов 15
Метки нет (Все метки)

Как програмно реализовать, чтоб мувик Интерфейса всегда находился на переднем плане сцены?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2013, 18:24
Ответы с готовыми решениями:

Как сделать игровой интерфейс всегда на переднем плане?
Хочу понять, как создавать игровой интерфейс, принцип обработки нажатия...

Разместить фильтры на переднем плане
теперь такая проблема на сайте виджеты которые стоят посередине и должны...

Открыть папку на переднем плане
Здравствуйте! В форме по нажатию кнопки открывается папка но как сделать...

Расположить UserControl на переднем плане
Здравствуйте, есть форма на которой расположена UserControl, на ней наложена...

Изображение на заднем плане, кнопка - на переднем
как зделать чтоб картинк ана заднем плане была а кнопка на переднем как...

15
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
18.11.2013, 19:31 2
Wells77, помещать его на передний план сцены. Ваш кэп. В чем именно проблема?
0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
18.11.2013, 19:47  [ТС] 3
По ходу игры динамически добавляются разны мувики на сцену, которые перекрывают интерфейс. Я могу конечно постоянно по ентерфрейму переназначать индекс интерфейсу топовый, но может есть какое свойство о котором я незнаю, чтоб не нагружать лишний раз проц пересортировкой индексов? Или пересортировка по ентерфрейму не нагружает систему?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
18.11.2013, 20:04 4
Цитата Сообщение от Wells77 Посмотреть сообщение
но может есть какое свойство о котором я незнаю
Видимо есть
Вам необходимо интерфейс помещать в верхний контейнер, а все остальное в нижний (или нижние, если их несколько).
1
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
18.11.2013, 22:09  [ТС] 5
Да про контейнеры уже поздно понял я, много класов уже написано и кода, трудоемко будет переделать на контейнеры.
0
TanaTiX
18.11.2013, 22:33
  #6

Не по теме:

Цитата Сообщение от Wells77 Посмотреть сообщение
трудоемко будет переделать на контейнеры
Перед addChild-ами поставить нужные контейнеры это трудоемко? Ну тогда извините.

0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
19.11.2013, 17:47  [ТС] 7
Начал переделывать под контейнеры и возникают ошибки. Вот куски кода:

В мейн классе:
ActionScript 3
1
2
3
4
5
private var body_mc_container:Sprite=new Sprite();
...
addChild(body_mc_container);
...
_hero=new HERO(body_mc_container,_hero_mc,{NPCw:30,NPCh:60,xPos:50,yPos:600,mc_name:"hero"});
А в конструкторе класса Hero:
ActionScript 3
1
2
3
4
5
6
7
private var container:DisplayObject;
public function HERO(container2,mc:MovieClip,obj:Object)
{
...
container=container2;
container.addChild(mc);
...}
и на еддчайлде сразу ошибку выдает:
...\src\HERO.as, строка 60 1061: Обращение к возможно неопределенному методу addChild через ссылку статического типа flash.display:DisplayObject.
Добавлено через 6 минут
Все разобрался, помогло явное приведение типов: Sprite(container).addChild(mcHero);
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
19.11.2013, 18:14 8
Wells77, а почему у вас контейнер DisplayObject? Компилятор говорит, что нет у экземпляров этого класса таких методов.
0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
19.11.2013, 18:42  [ТС] 9
Я делаю как-бы универсальный класс и заранее незнаю кто будет контейнером у меня выступать при создании экземпляров. Я так понимаю чтоб еще универсальнее стал нада перед добавлением в контейнер проверить еще на тип дисплейобджекта передаваемого контейнера и тогда уже явно приводить к типу при добавлении типа Sprite(container), MovieClip(container) и тд. Или я неправ? И как кстати объявить переменную, если в качестве контейнера кроме спрайта или мувика (что кстати рациональнее для системы использовать?) еще хочу и stage иногда передавать?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
19.11.2013, 18:56 10
Цитата Сообщение от Wells77 Посмотреть сообщение
Я делаю как-бы универсальный класс
И посуду моет, и на машине катается, и уголь добывает, и на скрипке играет? У вас не правильный подход.
Цитата Сообщение от Wells77 Посмотреть сообщение
и тогда уже явно приводить к типу
В идеале все должно работать без подобных приведений.
Цитата Сообщение от Wells77 Посмотреть сообщение
в качестве контейнера кроме спрайта или мувика
DisplayObjectContainer
stage - отдельная тема, но учитывая ваш подход я бы не советовал его передавать куда бы то ни было.
0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
19.11.2013, 19:08  [ТС] 11
Извените конечно, но все ответы как-бы вокруг да около. В чем неправильный подход? Если я делаю класс героя например с нацелом что буду использовать его в дальнейших разработках и может понадобится вместо спрайта контейнера тот-же мувик или сцена? И что все-таки менее трудоемко для процессора обрабатывать контейнер Спрайт, мувик или сцену? Опишите в кратце правильный подход дабы заранее не идти неверными путями?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
19.11.2013, 19:31 12
ActionScript 3 - ООП язык. Ваш подход не соответствует его направленности. Даже если при этом в вашем проекте все бегает и крутится как задумано. Почитайте про ООП.
0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
19.11.2013, 19:51  [ТС] 13
Ладно, проехали, про суть ООП я знаю достаточно и в чем мой подход не сходится с вашим видением ООП я так и не понял. То что я вместо 1 класса Героя не делаю 10 мелких? И то что тип параметра контейнера я хочу сделать универсальный и в классе в зависимости от типа явно указывать 3 варианта еддчайлда??? Ответа не получил.

Не проще было вместо 2 страниц переписки посоветовать что-то дельное, как правильно организовать класс Героя по вашему мнению?

Для вас могу цитату вставить с вашей ссылки:

Большое значение имеет правильное построение иерархии классов. Одна из известных проблем больших систем, построенных по ООП-технологии — так называемая проблема хрупкости базового класса. Она состоит в том, что на поздних этапах разработки, когда иерархия классов построена и на её основе разработано большое количество кода, оказывается трудно или даже невозможно внести какие-либо изменения в код базовых классов иерархии (от которых порождены все или многие работающие в системе классы). Даже если вносимые изменения не затронут интерфейс базового класса, изменение его поведения может непредсказуемым образом отразиться на классах-потомках. В случае крупной системы разработчик базового класса просто не в состоянии предугадать последствия изменений, он даже не знает о том, как именно базовый класс используется и от каких особенностей его поведения зависит корректность работы классов-потомков.
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
19.11.2013, 20:06 14
Wells77, каким образом приведенная цитата соотносится с нашими обсуждениями?
Цитата Сообщение от Wells77 Посмотреть сообщение
про суть ООП я знаю достаточно
Видимо, нет.
Мое "видение" заключается в том, что ребенок не должен добавлять сам себя в своего родителя. т.е. по сути управлять методами родителя.
Вот еще почитайте про SOLID
0
Wells77
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
19.11.2013, 22:05  [ТС] 15
Мое "видение" заключается в том, что ребенок не должен добавлять сам себя в своего родителя. т.е. по сути управлять методами родителя.
Что-то мы не допоняли друг-друга или я не понял. Мой класс HERO создает тело Box2d, и одновременно создает экземпляр мувика для этого тела в том контейнере, который я передаю в параметры конструктора. В чем тут глобальная ошибка? Аналогичная реализация в QuickBox2d.

Добавлено через 1 минуту
Ребенок как я понял вы как-раз называте мувик создаваемый классом? Так в чем он влияет на методы класса и темболее родителя (параметр класса)?
0
TanaTiX
Модератор
2798 / 1652 / 168
Регистрация: 19.02.2011
Сообщений: 6,011
Завершенные тесты: 2
20.11.2013, 02:02 16
Цитата Сообщение от Wells77 Посмотреть сообщение
Мой класс HERO создает тело Box2d, и одновременно создает экземпляр мувика
С Box2d не работал, возможно, там какие-то нюансы присутствуют. Но не думаю, что особенности Box2d диктуют подобный подход.
Цитата Сообщение от Wells77 Посмотреть сообщение
мувик создаваемый классом?
Ребенок - это DisplayObject, который помещается (addChild/addChildAt) в некий контейнер (DisplayObjectContainer) - его родитель.
0
20.11.2013, 02:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 02:02

Открытие окна программы на переднем плане
Здравствуйте, помогите со скриптом . Нужно сделать, так чтобы программа...

Запуск внешней программы на переднем плане
Здравствуйте. Подскажите. Вот такая заковырка заставила меня озадачиться......

Открыть текстовый файл на переднем плане
Добрый день! Подскажите как можно открыть текстовый файл на переднем плане?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru