Вопрос по комнатам в раннере.
|
|
Cmaujluk | Дата: Понедельник, 16 Сентября 2013, 19:18 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Всем привет! До этого прочитал штук 10 похожих тем так и не нашёл нужного ответа, если кто-то подобное видел просьба ткнуть носом. Вообщем занимаюсь разработкой раннера где ГГ бесконечно бежит вправо. Есть несколько вариантов, если кто-то уже пробовал данный жанр подскажите, как будет лучше реализовать: 1) Сделать комнату в Nк пикселей и по ходу подгружать участки. 2) Создать маленькую комнату и по ходу игры расширять комнату или добавлять новые комнаты. 3) Сделать ГГ бегущего на месте и просто передвигать фон и предметы в одной маленькой комнате. И вопрос как это реализовать, пока что все попытки были без результатными, если кто поможет буду безмерно благодарен
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
Сообщение отредактировал Cmaujluk - Понедельник, 16 Сентября 2013, 19:23 |
|
| |
atoris | Дата: Понедельник, 16 Сентября 2013, 20:20 | Сообщение # 2 |
участник
Сейчас нет на сайте
| в данный момент занимаюсь разработкой раннера на флеше. если по твоим пунктам то у меня выходит 2 и 3. у меня автоматически генерируеться карта из небольших отрезков пока для теста у меня их 8(отрезки с ямами, с преградами и пустые тоесть просто дорожка) алгоритм приблезительно такой: -> есть несколько массивов пока что 2 с разными отрезками, перед стартом рандом чисел для 2 массивов, тоесть [1,3,4,2],[2,4,1,3] -> создаю 2 пустых спрайта(их можно наделать сколько угодно нужно только в циклt цифру поменять) и в них добавляю куски карты из массива по индексу([1,3,4,2],[2,4,1,3]) -> добавляю в новый массив 2 этих спрайта и вывожу на экран, смещаю их по х в лево(arr[0].x-=speed; arr[1].x-=speed) -> если arr[0] за пределами то удаляю его со сцены и заново генерирую массив для первого спрайта -> меняю индекс второго массива(arr[1]=arr[0]) a новому спрайту присваиваю индекс второго массива (arr[1]=newSprite)
и получается что 2 спрайта(каждый рандомом сделан из 4 кусков карты) гоняет по кругу. Тоесть чтоб все работало(пока с багами) мне понадобилось 3 массива(2 с отрезками карты и 1 для двух спрайтов) и рандом для заполнения массива p.s начал его делать только вчера примерно 2-3 часа ушло на создание этого велосипеда.
Вступайте в групу
Сообщение отредактировал atoris - Понедельник, 16 Сентября 2013, 20:23 |
|
| |
Krosos | Дата: Вторник, 17 Сентября 2013, 06:49 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Кошмар... Почему бы просто не зациклить комнату? Как добегаешь до определенного места, нас откидывает на 10000 пикселей назад. Никто не заметит разницы.
Мой проект
|
|
| |
LunarPixel | Дата: Вторник, 17 Сентября 2013, 11:09 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата (Krosos) Как добегаешь до определенного места, нас откидывает на 10000 пикселей назад. При таком подходе нужна синхронизация хорошая, чтобы то, что игрок видит в данный момент он же и видел, когда его отбрасывает на 10000 пикселей.
Как по мне, самый оптимальный вариант - это маленькая комната с генерацией. Конечно, зависит еще от того, что вообще из себя представляет раннер и какое там строение уровня.
|
|
| |
Sanchez06 | Дата: Вторник, 17 Сентября 2013, 18:05 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Как вариант - персонаж стоит на месте, а фон и препятствия генерируются и движутся в одну сторону (против направления бега). А насчет синхронизации "отбрасывания" - можно поставить поворот, или такую ситуацию, когда есть переход от одного фона к другому.
|
|
| |
|
Cmaujluk | Дата: Вторник, 17 Сентября 2013, 20:03 | Сообщение # 7 |
участник
Сейчас нет на сайте
| Слышал что можно сделать кусок карты, запилить его, например в ini файлы, и потом этот кусок вставить, ни у кого случаем не завалялся пример?
Не жадный на плюсы. Наши проекты: Clicker Mine Mania 2 - Увлекательный кликер в стиле Minecraft Angry Bee Evolution - Эволюция с элементами кликера Чего не хватает? - Викторина на логику"
|
|
| |