4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
1 | |
Подкиньте идею25.11.2013, 20:46. Показов 1509. Ответов 21
Метки нет (Все метки)
Здравствуйте. Пишу потихоньку свой фреймворк для разработки игр. В главном цикле связанной список игровых обьектов обрабатывается: логика, коллизия, взаемодейтсвие и отрисовка. Но я хочу задать своим объектам приоритеты для взаемодействия и отрисовки, то бишь объект с найбольшим приоритетом отрисовки рисуется первый и тд. Но в каждой итерации главного цикла как то не хорошо сортировать список за приоритетами по пару раз. Подскажите как быть.
0
|
25.11.2013, 20:46 | |
Ответы с готовыми решениями:
21
Подкиньте идею:) подкиньте идею плиз, а то чёто не вьезжаю Подкиньте идею игры или программы Пожалуйста, подкиньте идею для проекта |
46 / 46 / 18
Регистрация: 25.10.2011
Сообщений: 183
|
|
25.11.2013, 20:50 | 2 |
А с какой целью расставлять приоритеты? В работе с графикой всё равно двойная буферизация спасает.
Но, если уж так угодно, как вариант делать анализ производительности. Если производительность падает, то отсортировать по приоритету и откинуть лишние объекты со списка прорисовки.
0
|
188 / 187 / 46
Регистрация: 24.03.2011
Сообщений: 670
|
|
25.11.2013, 20:50 | 3 |
Используй priority_queue =)
1
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 20:57 [ТС] | 5 |
При чем здесь двойная буферизация? Вот у меня два спрайта в списке с1 и с2. с1 нарисуется первым, потому что я его(для примера) в список затолкну первым. Но я хочу чтобы с2 рисовался первым.
Не по теме: Думать надо что пишешь monolit, извини, на вечер уже башка квадратная, с cpusplus ни фига не понял. То есть при каждом добавлении элемента все элементы сортируются? То есть, те же яйца, только в профиль получается. Добавлено через 54 секунды Как же тогда верно? Подскажите
0
|
46 / 46 / 18
Регистрация: 25.10.2011
Сообщений: 183
|
|
25.11.2013, 20:59 | 6 |
Ну так я и спросил: зачем это вам нужно? С помощью двойной буферизации вывод на экран будет одновременным, не зависимо от того, кто первым был подан на отрисовку.
Что за деф буфер ? Не узнаю по-названию.
0
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 21:02 [ТС] | 7 |
хорошо, если еще не поняли, растолкую до конца. Как Вы думаете, если у с1 и с2 одинаковые координаты, вывод будет одновременным? Или один накладется на другой?
0
|
Заблокирован
|
|
25.11.2013, 21:02 | 8 |
http://ru.wikipedia.org/wiki/Z... 0%B8%D1%8F
я говорил про 3Д графику, в 2Д конечно идёт очередь и слои
1
|
2 / 2 / 0
Регистрация: 18.07.2013
Сообщений: 15
|
|
25.11.2013, 21:03 | 9 |
А никто за денюшку сейчас не может в скайпе помочь написать код? лёгенький для опытного программера!!!!
0
|
46 / 46 / 18
Регистрация: 25.10.2011
Сообщений: 183
|
|
25.11.2013, 21:06 | 10 |
Воот. Это я и спрашивал. Да, я не о том говорил. Это надо сортировать по глубине, а не приоритету. Собственно stencil buffer, о котором newbie666 уже написал, и будет решением.
Не по теме: Непривычные названия для меня - вот и не сразу понял.
1
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 21:07 [ТС] | 11 |
0
|
|
25.11.2013, 21:07
#12
|
1
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 21:08 [ТС] | 13 |
Hunter13ua, Одна проблема: я работаю с 2д
0
|
Заблокирован
|
|
25.11.2013, 21:10 | 14 |
какая к чертям коллизия и взаимодействие между BMP картинками в 2D ? У тебя ж спрайты вроде
2Д графика заранее распределяется по слоям, например фон, главный герой, его автомат, его ... и тд Зачем во время игры что - то сортировать ?
0
|
46 / 46 / 18
Регистрация: 25.10.2011
Сообщений: 183
|
|
25.11.2013, 21:11 | 15 |
С 2д даже проще. Если хотите избавиться от сортировки: введите лишнюю переменную Z. И при добавлении в очередь прорисовки - пусть анализирует в какое место очередь ставить объект именно по этой переменной.
1
|
Заблокирован
|
|
25.11.2013, 21:13 | 16 |
или у тебя игра типа червячков http://free-tracker.net/upload... 89bef.jpeg
где можно 2Д землю как бы разрушать, по которой черви и ползают
0
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 21:16 [ТС] | 17 |
newbie666, Вы наверное меня не поняли. Вообще. Давайте все сначала. Вот есть класс который описывает игровой объект. Он может рисоваться. Если два объекта столкнулись, например пуля и игрок, значит игрок убит или пуля взорвалась. Правильно? Уже есть какое-то взаемодействие и логика. Ну и конечно коллизию надо тоже проверять. Так вот, к чему я веду. Если вместо пули пусть будет ракета. Будет взрыв. А вот взрыв закроет спрайт игрока, потому что он добавляется позже в список. А я так не хочу. Я хочу, чтобы нарисовался взрыв а потом игрок
0
|
2 / 2 / 0
Регистрация: 18.07.2013
Сообщений: 15
|
|
25.11.2013, 21:22 | 19 |
Очень жаль, ну отдыхай братишь мб ещё ктонибудь откликнится) код лёгкий но не для меня. Нам дали методичку на паскале ничего не обьясняют. Сказали пишите ... печаль беда я уже 4 лабы всей группе сделал эту не могу(
0
|
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
|
|
25.11.2013, 21:25 [ТС] | 20 |
Это просто пример.
Идея такая же, как у меня была, просто я мутно пояснил. Но все равно спасибо
0
|
25.11.2013, 21:25 | |
25.11.2013, 21:25 | |
Помогаю со студенческими работами здесь
20
Программно найти кнопку в flash'e, подкиньте идею) Подкиньте практику по С/С++ Подкиньте задачку Подкиньте рандомно задачки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |