Понедельник, 02 Декабря 2024, 20:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Grass System(Система травы)
FireguyДата: Среда, 29 Августа 2012, 18:43 | Сообщение # 1
участник
Сейчас нет на сайте
Работаю над проектом 2д-платформенной песочницы. Итак есть 2 вида земли- без травы, и с травой.
Надо что-бы после генерации весь верхний слой грязи от определенной высоты покрывался травой.
Как это реализовать попроще, легче для системы?

Добавлено (29.08.2012, 18:43)
---------------------------------------------
Пробовал по своему, лагало или работало коряво!


Coder is like a King
in his own realm
МистерИксДата: Среда, 29 Августа 2012, 18:43 | Сообщение # 2
Текстовик
Сейчас нет на сайте
Quote (Fireguy)
Надо что-бы после генерации весь верхний слой грязи от определенной высоты покрывался травой.
Как это реализовать попроще, легче для системы?

Code
if y<=определенная_высота instance_create(x,y-высота_блока,o_grass)

Например, так.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке


Сообщение отредактировал МистерИкс - Среда, 29 Августа 2012, 18:44
FireguyДата: Среда, 29 Августа 2012, 18:44 | Сообщение # 3
участник
Сейчас нет на сайте
МистерИкс, Карта уже создана генератором, имеется в-виду динамичная смена спрайта

Coder is like a King
in his own realm
МистерИксДата: Среда, 29 Августа 2012, 18:46 | Сообщение # 4
Текстовик
Сейчас нет на сайте
Code
if y<=определенная_высота sprite_index=земля_с_травой else sprite_index=земля



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
FireguyДата: Среда, 29 Августа 2012, 18:48 | Сообщение # 5
участник
Сейчас нет на сайте
МистерИкс, Должна еще быть проверка на наличие блока над ним самим

Coder is like a King
in his own realm


Сообщение отредактировал Fireguy - Среда, 29 Августа 2012, 18:48
SaladinДата: Среда, 29 Августа 2012, 18:49 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
В криэйте делай проверку есть ли над блоком другой блок. Если нет значит спрайт с травой, если есть - значит спрайт без травы. Очевидно же.

Анбаннэд. Хэлоу эгин =)
МистерИксДата: Среда, 29 Августа 2012, 18:49 | Сообщение # 7
Текстовик
Сейчас нет на сайте
Quote (Fireguy)
МистерИкс, Должна еще быть проверка на наличия блока над ним самим

Ну дак указывай это в ТЗ.
Code
if y<=определенная_высота and !instance_place(x,y-высота_блока,объект_земли) sprite_index=земля_с_травой else sprite_index=земля



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке


Сообщение отредактировал МистерИкс - Среда, 29 Августа 2012, 18:49
FireguyДата: Среда, 29 Августа 2012, 18:52 | Сообщение # 8
участник
Сейчас нет на сайте
Saladin, Динамики тогда не будет
МистерИкс, Так писал прост лагать будет из-за количества блоков


Coder is like a King
in his own realm
МистерИксДата: Среда, 29 Августа 2012, 18:54 | Сообщение # 9
Текстовик
Сейчас нет на сайте
Quote (Fireguy)
МистерИкс, Так писал прост лагать будет из-за количества блоков

Так делай проверку на уже принадлежащий спрайт - присваивать спрайт травы, только если сейчас - спрайт земли.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке


Сообщение отредактировал МистерИкс - Среда, 29 Августа 2012, 18:54
FireguyДата: Среда, 29 Августа 2012, 18:57 | Сообщение # 10
участник
Сейчас нет на сайте
МистерИкс, Тоже делал, но из-за этой лишней проверки еще больше лагало

Coder is like a King
in his own realm
МистерИксДата: Среда, 29 Августа 2012, 19:00 | Сообщение # 11
Текстовик
Сейчас нет на сайте
Quote (Fireguy)
МистерИкс, Тоже делал, но из-за этой лишней проверки еще больше лагало

Так деактивируй все блоки за пределами вида.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
FireguyДата: Среда, 29 Августа 2012, 19:01 | Сообщение # 12
участник
Сейчас нет на сайте
Лагает из-за проверок, а не от смены спрайтов

Добавлено (29.08.2012, 19:01)
---------------------------------------------
Мир и так не велик, нет толку


Coder is like a King
in his own realm
МистерИксДата: Среда, 29 Августа 2012, 19:02 | Сообщение # 13
Текстовик
Сейчас нет на сайте
Quote (Fireguy)
Мир и так не велик, нет толку

facepalm Заставляй игроков играть даже при больших лагах, как Нотч сделал, лол. Не будет других вариантов. Разве что каким-либо образом оптимизировать сами блоки, убрать лишнее, но данный вопрос тут уже ни при чем.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
TimKruzДата: Среда, 29 Августа 2012, 19:03 | Сообщение # 14
старожил
Сейчас нет на сайте
Fireguy, ты хочешь сделать так, чтобы трава могла сама вырастать на верхних блоках земли? Тогда не нужно делать это постоянно, делай обработку всей видимой на экране земли периодически, например, раз в 30 секунд. Это снизит нагрузку.
Quote (Fireguy)
из-за количества блоков

Обрабатывай только те, который точно на экране. И ещё делай расчёт только тогда, когда хотя бы одна клетка земли на экране выше определённого лимита. Например, если игрок спустился на уровень -40, на экране отображаются блоки с -30 до -50, а трава растёт только до уровня -20 - значит, никакой обработки делать не нужно.

***
Quote (МистерИкс)
Не будет других вариантов.

Выход есть всегда. biggrin




Сообщение отредактировал TimKruz - Среда, 29 Августа 2012, 19:04
МистерИксДата: Среда, 29 Августа 2012, 19:06 | Сообщение # 15
Текстовик
Сейчас нет на сайте
Quote (TimKruz)
Выход есть всегда.

Только некоторых он, видите ли, не устраивает biggrin

Добавлено (29.08.2012, 19:06)
---------------------------------------------

Quote (TimKruz)
Обрабатывай только те, который точно на экране. И ещё делай расчёт только тогда, когда хотя бы одна клетка земли на экране выше определённого лимита. Например, если игрок спустился на уровень -40, на экране отображаются блоки с -30 до -50, а трава растёт только до уровня -20 - значит, никакой обработки делать не нужно.

Я же ему уже говорил про деактивацию.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
FireguyДата: Среда, 29 Августа 2012, 19:08 | Сообщение # 16
участник
Сейчас нет на сайте
А как-то реализовать деактивацию, прост с деактивацией работал только 1 раз, еще и неудачно

Coder is like a King
in his own realm
SaladinДата: Среда, 29 Августа 2012, 19:15 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Похоже тут просто клинический случай. Может кто нибудь вызовет скорую?

Анбаннэд. Хэлоу эгин =)
FireguyДата: Среда, 29 Августа 2012, 19:24 | Сообщение # 18
участник
Сейчас нет на сайте
Fireguy, Де активация это единствиное что я не знаю Ю_Ю

Coder is like a King
in his own realm
SaladinДата: Среда, 29 Августа 2012, 19:31 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
Деактивация это единственное о чем ты знаешь что не знаешь. Деактивация такого количества блоков вообще первоочередная задача, иначе тестировать будет невозможно.
Quote (TimKruz)
Обрабатывай только те, который точно на экране.

Не нужно обрабатывать блоки каждый шаг. Их нужно обработать один раз при создании. Блоки при этом содержат одно единственное событие - криэйт.


Анбаннэд. Хэлоу эгин =)

Сообщение отредактировал Saladin - Среда, 29 Августа 2012, 19:32
МистерИксДата: Среда, 29 Августа 2012, 19:39 | Сообщение # 20
Текстовик
Сейчас нет на сайте
Quote (Saladin)
Fireguy, Де активация это единствиное что я не знаю Ю_Ю

Смешно.
Напиши мне простенькую рисовалку с использованием сурфов или мультиплеер на стандартных функциях.



Три Пути - текстовый квест
Not Quite Heroes - пародийная jRPG в разработке
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг