Результаты поиска
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 18:17 | Сообщение # 1 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| DivES, прыгать можно и на месте, от этого позиция не меняется, если же мы прыгаем вперед, это уже другое дело, в таком случае мы меняем позицию игнорируя коллизию на некоторую высоту
Сообщение отредактировал veeroteen - Понедельник, 04 Мая 2020, 18:19 |
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 18:03 | Сообщение # 2 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, прыжок это только анимация, позицию он никак не меняет, а если и меняет, то это уже скрипт, вообщем прыжок может и не менять координат
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:57 | Сообщение # 3 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| DivES, ну я незнаю о каком влиянии холма говорил puksus4б так что вопрос Цитата DivES ( ) Проблема-то в чём? относится к нему
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:54 | Сообщение # 4 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, дерево на координате 100 100 рисуется ниже чем по координате 200 200, о чем я и говорил, даже если мы исключим холм, все равно правило остается таким же, холм в изометрии не меняет положения камеры, ее взгляд относительно обьектов всегда один
Сообщение отредактировал veeroteen - Понедельник, 04 Мая 2020, 17:55 |
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:48 | Сообщение # 5 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| Цитата puksus4 ( ) Неверно, я изначально оперирую объектами, а не слоями. Просто представляйте позицию объекта в его мировых координатах, а не в экранных. И порядок рендера определяйте из мировых. При рендере уже сдвигайте объекты куда вам надо чтоб они выглядели корректно. никто тут экранными и не оперирует, и как можно сортировать отдельно статику и динамику, если они должны ривсоваться в одном в разной последовательности в зависимости от позиции, как ты себе представляешь сортировку динамики относительно массива статики вне самого массива
Сообщение отредактировал veeroteen - Понедельник, 04 Мая 2020, 17:49 |
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:37 | Сообщение # 6 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| DivES, у тебя 3 координата общая на слой, а puksus4, предлагает делать эту координату на каждый обьект в слое
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:32 | Сообщение # 7 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, предлагаешь динамику на кадр сортировать?
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:27 | Сообщение # 8 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, Цитата puksus4 ( ) Эта схема 1) значительно всё упрощает 2) полностью решает вашу проблему. Что конкретно вам не нравится? 1)упрощает? для 3 координаты надо использовать 3-х мерный массив, что само по себе неудобно 2) полностью решает проблему? ты проблему вообще читал? нет никакой проблемы отрисовывать статику, с этим ребенок справится, проблема в отрисовке динамики относительно статики, по твоей 3 координате можно только неподвижные обьекты расставлять, потому что подвижные будут постоянно двигаться внутри массива, и если 1 объект еще как то можно внести, то представьчто в твоем 3-х мерном масиве бегает 2 человечка, и как эта сортировать предлаегашь, на каждый кадр? и сколько кадров это заберет?
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:12 | Сообщение # 9 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, при чем тут тормозить, речь о том что не имеет смысла делать такую схему, так как она ничего совершенно не меняет при всей своей громоздкости с 3-й координатой
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 17:04 | Сообщение # 10 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, Цитата puksus4 ( ) + засчёт одной Y координаты вы не сможите разруливать объекты по физической высоте. Тойсть до тех пор пока у вас земля - одна большая плоскость и все объекты назодятся прямо на ней - всё будет гут. Как только научите персонажа прыгать или введёте "холмы" на карте - всё поедет лесом. Если конечно сейчас речь об изометрии. а вот это реально не понятно, у тебя в любом случае чем ниже координаты, тем ниже объект, никакие холмы ничего не изменят, у тебя в любом случае отрисовка идет от менших координат к большим
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 16:56 | Сообщение # 11 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| drcrack, Цитата puksus4 ( ) 1) Определяешь для каждого спрайта точку, которой этот объект крепится к земле, у дерева будет низ ствола, посередине корней, вероятно почти у всех объектов это будет точка гдето внизу спрайта. Для простоты можно взять тупо самую нижнюю точку спрайта по игрику и среднюю по иксу. Но возможно будут странности + будет хрень если в спрайте есть путсые области сбоков. 2) Расставляешь объекты в плоскости допустим xz, где x вправо, z от экрана. За позицию объекта считаешь позицию вышеупомянутой точки в мировом пространстве. 3) перед рендером собираешь пары позиция\реф объекта. Пихаешь сюда всё подряд без разбора, и статику и динамику. 4) сортируешь по убыванию z 5) рендеришь
вроде все ясно, он предлагал внести мне актера и и неписей в один массив с обьектами, и отсортировать по позиции, но подвижные объекты , что логично двигаются , а соответственно и будут премещаться внутри массива, так как массив остсортирован по позиции, а если двигается 1 обьект посреди массива, то двигаются и все остальные
|
|
| |
veeroteen | Дата: Понедельник, 04 Мая 2020, 11:14 | Сообщение # 12 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| puksus4, а теперь представь как этот массив будет постоянно двигаться в стороны по движению персонажа и неписей, даже массив 100x100 уже не выдержит двигать 1 непися, а что говорить о большем числе, так что метод сортировки подходит только для статичных обьектов
|
|
| |
veeroteen | Дата: Воскресенье, 03 Мая 2020, 22:18 | Сообщение # 13 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| DivES, с очередностью статичных обьектов то все ясно, но игрок и неписи двигаются, соответственно они будут отрисовываться под и поверх деревьев в зависимости от ситуации
Добавлено (03 Мая 2020, 22:21) --------------------------------------------- как пример
Сообщение отредактировал veeroteen - Воскресенье, 03 Мая 2020, 22:23 |
|
| |
veeroteen | Дата: Воскресенье, 03 Мая 2020, 21:28 | Сообщение # 14 | Тема: Помогите с приоритетом отрисовки в SFML |
был не раз
Сейчас нет на сайте
| застрял на отрисовке актера относительно объектов, немного не ясно как например отрисовывать под объектом если он ниже по позиции , например если координаты персонажа больше координат дерева, то персонаж отрисовывается поверх, если меньше, соответственно под деревом, была идея разделить экран на до и после персонажа, между которыми он и будет отрисовываться, но потом понял что все равно это придется как то делать для неписей
|
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 22:08 | Сообщение # 15 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| DivES, динамически выделить память под массив? насколько я понимаю размер стека подразумевает размер неделимой единицы, то есть компилятор не может сам разделить мой массив на 2 стека, соответственно речи о динамической памяти идти не может, а если ты и прав, то расскажи мне пожалуйста как это делается?
|
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 20:15 | Сообщение # 16 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| Всем спасибо, все свободны, проблема решена, мальчик узнал как увеличить размер стека
Код #pragma comment(linker, "/STACK:100000000") если кому понадобиться
|
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 19:57 | Сообщение # 17 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| Цитата DivES ( ) veeroteen, как ты создавал этот миллион?
Код std::vector<std::vector<int>> buff; buff.reserve(1000000);
а вот такая штука получается если создать обычный массив
Добавлено (25 Апреля 2020, 20:02) --------------------------------------------- realm786, этот вариант кода делает примерно то же самое, но тут как раз проблема в скорости, из xml файла очень долго доставать в сравнении с нормальным массивом, но у нормального массива есть ограничения на размер
Код void SetMap() { for (int y = 0; y < MapY; y++) { for (int x = 0; x < MapX; x++) {
jj = "tile" + std::to_string((int(actor.GetActorPos().x) / 32)- MapX/2 + x) + "x" + std::to_string((int(actor.GetActorPos().y) / 32)-MapY/2 + y);//имя элемента
text = level->FirstChildElement(jj.c_str());//достаем элемент
MapSprite.setTextureRect(sf::IntRect(0 + 32 * std::atoi(text->GetText()), 0, 32, 32));//номер тайла
MapSprite.setPosition( (int((actor.GetActorPos().x) / 32) - MapX/2 + x) * 32, (int((actor.GetActorPos().y) / 32) - MapY/2 + y) * 32 );
window.draw(MapSprite); } } }
Сообщение отредактировал veeroteen - Суббота, 25 Апреля 2020, 22:09 |
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 19:40 | Сообщение # 18 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| Цитата DivES ( ) DivES
и это только 1 миллион обьектов, и оно уже заходит за рамки дозволеных размеров
Сообщение отредактировал veeroteen - Суббота, 25 Апреля 2020, 19:41 |
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 17:42 | Сообщение # 19 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| Цитата DivES ( ) veeroteen, так а почему бы заранее не загрузить тайлы? И потом уже обращаться к ним напрямую? предположим я создаю массив в который записываю id тайлов по их координатам, но в конечном счете упираюсь в размер этого массива, гипотетический массив того же int 5000 x 5000 это 25000000 байтов
|
|
| |
veeroteen | Дата: Суббота, 25 Апреля 2020, 17:21 | Сообщение # 20 | Тема: Отрисовка карты SFML |
был не раз
Сейчас нет на сайте
| Цитата DivES ( ) так, а во втором варианте в чём проблема? Мне, вот, не очевидно ну во первых идет постоянное обращение к файлу, а это дело не быстрое, то есть для того что бы отрисовать 25 тайлов, мне нужно 25 раз обратится к нему и это достаточно сильно бьет по скорости обновления кадров
|
|
| |
|