Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191

Вид, камера, ограничение экрана...

17.03.2012, 16:55. Показов 2858. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не смог сформулировать мысль для яндекса) Вот есть к примеру top-down шутеры. Локация большая-большая, а нам видна только область 800х600. И эта область видимости перемещается вместе с главным героем, и в итоге мы видим только близлежащую местность. Как такое реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2012, 16:55
Ответы с готовыми решениями:

Ограничение экрана ASUS Eee PC
Всем привет! Пару лет назад повредили экран (Картинка снизу), починка выходила дороже нового, использовали с монитором, а потом приобрели...

Установить ограничение экрана на запуск приложения
Необходимо разрешить запуск приложения только с конкретно заданным разрешением (допустим 480x800) и чтобы любое отличие запрещало запуск....

Стандартный вид блоков независимо от ширины экрана
Есть 3 блока которые с помощью float:left располагаются друг за другом горизонтально. Всем 3 блокам задана ширина 400 пикселей. При...

17
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
17.03.2012, 16:57
Цитата Сообщение от Defake Посмотреть сообщение
мы видим только близлежащую местность.
Все просто, достаточно просто (в контексте вопроса) показывать только близлежащую местность. Вся большая местность либо нарезана на куски, либо генерируется автоматически.
0
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
18.03.2012, 07:48  [ТС]
Куски?... Как понимаю, это будет примерно так: мы оказываемся в области 800х600, а когда подходим к краю экрана - "комната" меняется на следующую. Но мне нужно, чтобы герой всегда был в центре экрана и перемещение "камеры" было плавным, вслед за движением героя.
И нет, локация автоматически не генерируется.
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
18.03.2012, 11:44
Цитата Сообщение от Defake Посмотреть сообщение
Но мне нужно, чтобы герой всегда был в центре экрана и перемещение "камеры" было плавным, вслед за движением героя.
Не вижу проблемы. Двигаются карты. Если в области активного нахождения персонажа (экран) должна отобразиться новая карта - помещаем ее на сцену, если из области видимости какой-то карты мы ушли - удаляем ее.
1
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
18.03.2012, 22:19  [ТС]
А, понял.. Но есть еще два нюанса:
1) Если сгенерировать одну локацию полностью, то потом нужно 1 - разбить локацию (Включая объекты, которые тоже могут оказаться на стыке "кусочков") 2 - запомнить их, и уже 3 - перемещать, когда Гг будет достаточно близко... Мне кажется это слишком сложно
2) У меня игра-стратежка. Т.е. удалять эти "кусочки" точно нельзя будет... Как?)
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
18.03.2012, 22:46
Все зависит от ситуации. К примеру сам фон - отдельный слой, который формируется вышеуказанным способом. На этом фоне могут быть разные объекты, но они принадлежат другому слою, необходима только система расчетов координат объектов. Это сортировка глубин. В зависимости от ракурса это может быть, к примеру, сортировка по y координате.
В отношении разбивки фона на части. Я считаю, что нет смысла крошить фон программно во флеше. Лучше это сделать на этапе создания приложения в каком-то графическом редакторе. Иначе может нет смысла этим заниматься...
Если все же делать программно - это сформировать несколько битмапдат из исходной. При этом было бы уместно позаботиться об очистке из памяти последней.
1
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
19.03.2012, 06:53  [ТС]
Хм... Ясненько. Еще один вопрос: Вот у меня стратежка. Есть куча прсонажей сражающихся с друг другом. Я подвожу курсор к краю экрана - экран двигается. Но это эллюзия, ведь двигаются на деле все объекты на сцене. Т.е. нужно перемещать координату каждого объекта. Это как сделать? Stage.x-- пойдет?
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.03.2012, 08:22
Цитата Сообщение от Defake Посмотреть сообщение
Stage.x
Доступ к Stage только для чтения. Если смещать все объекты ан одинаковое расстояние, то есть смысл двигать контейнер. Если вариант с контейнером не подходит - помещение всех значимых элементов в массив - и двигать их в цикле.
0
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
19.03.2012, 16:27  [ТС]
Э-э... Контейнеры?)
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.03.2012, 16:48
Sprite-ы - место, куда помещаешь все необходимое.
0
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
19.03.2012, 21:37  [ТС]
Т.е. в любом случае нужно куда-то помещать объекты каждый раз, когда их создаешь?
А сами они нигде не записаны? Что-то типа Main."Все дети и дети детей".x -= 20; ?
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.03.2012, 22:17
Цитата Сообщение от Defake Посмотреть сообщение
Т.е. в любом случае нужно куда-то помещать объекты каждый раз, когда их создаешь?
Если никуда не помещать, так их и видно не будет, так что это абсолютно нормально.

Цитата Сообщение от Defake Посмотреть сообщение
А сами они нигде не записаны? Что-то типа Main."Все дети и дети детей".x -= 20; ?
Что значит "нигде не записаны"? Если есть необходимость - можно помещать их в массив (типизированный?), если нет, то всех детей, находящихся в некоем контейнере можно получить, использовав numChildren и getChildAt, правда такой подход в зависимости от ситуации может быть не очень правильным решением.
1
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
19.03.2012, 22:35  [ТС]
Блин, я что-то в тему вообще врубиться не могу.
ActionScript 3
1
2
3
for (var i:int = 0; i < numChildren - 2, i++; ) {
    getChildAt(i).x--;              
}
Что здесь не так?
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
19.03.2012, 23:14
Цитата Сообщение от Defake Посмотреть сообщение
for (var i:int = 0; i < numChildren - 2, i++; )
так, наверно, нужно

ActionScript 3
1
for (var i:int = 0; i < numChildren; ++i)
1
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.03.2012, 23:46
Цитата Сообщение от Defake Посмотреть сообщение
Что здесь не так?
Выдернуто из контекста. Я же не знаю что там к чему и какой замысел.
1
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
20.03.2012, 07:10  [ТС]
ActionScript 3
1
так, наверно, нужно
Блиин крыша уже едет) Переставил запятые - всё получилось) Спасибо за помощь =)
Можно пооффтопить?) Появился просто вопрос по другой теме:
Вот есть у меня пехота с переменной team=0. Подходит к ним другая пехота с переменной team=1. Как узнать им о друг друге? Таким же способом:

ActionScript 3
1
2
3
4
5
for (var i:int = 0; i < numChildren-1; i++) {
     if (getChildAt(i).team == 1) {
          //Схема поведения
     }
}
Или же есть более простой способ определить наличие объекта?
ActionScript 3
1
2
3
4
"Если объект ПЕХОТА существует, ТО:
     if (ЭТАПЕХОТА.team == 1) {
          //Схема поведения
     }
Добавлено через 6 минут
Ах да, в любом случае: есть ли функция, определяющая класс объекта, с которым мы работаем? (например бывает нужно узнать что за класс вызвал функцию из главного класса, а через параметр this передать нельзя или неудобно.
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
20.03.2012, 09:36
Цитата Сообщение от Defake Посмотреть сообщение
Как узнать им о друг друге?
А пехота это отдельный объект?
В любом случае такой проверкой должна заниматься не "пехота", а контроллер.

Цитата Сообщение от Defake Посмотреть сообщение
Ах да, в любом случае: есть ли функция, определяющая класс объекта, с которым мы работаем?
В данном случае, что-то мне кажется, что вы имеете в виду что-то типа
ActionScript 3
1
2
3
if(cont.getChild(i) is YourClass){
     trace("This is item of your class");
}
И, как я уже говорил,
Цитата Сообщение от TanaTiX Посмотреть сообщение
такой подход в зависимости от ситуации может быть не очень правильным решением.
Про MVC слышал? Почитай или перечитай.
1
 Аватар для Defake
5 / 5 / 0
Регистрация: 24.08.2011
Сообщений: 191
20.03.2012, 09:57  [ТС]
ActionScript 3
1
if(cont.getChild(i) is YourClass){
да, именно то, что мне нужно) Про контроллер почитаю. Спасибо за помощь =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.03.2012, 09:57
Помогаю со студенческими работами здесь

Мерцание экрана (быстрое затемнение и возврат в прежний вид)
Всем доброго времени суток, нужна помощь! Нужен код &quot;мерцания экрана&quot; есть примеры затемнения экрана, затемнение экрана при лайтбоксе и...

Ограничение передвижения мыши при изменении разрешения экрана
Столкнулся с этим в двух играх hotline miami и starbound. После того, как перевел игры в полно оконный режим - от всего экрана для мыши...

Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое. Рекомендуемый вид экрана во время работы програ
Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое. Рекомендуемый вид экрана во время...

Аналоговая камера, плата видеозахвата, веб камера
Товарищи эксперты, прошу вашей помощи в решении стоящей передо мной задачи. Требуется подключить видеокамеру такую: CleverMic...

Как сделать переключение между файлами вид плиткой и вид списком
Подскажите как сделать переключение между файлами вид плиткой и вид списком. У меня два файла с выводом списком tab.php , sort_tab.php ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru