Ответ: Vivo
Сейчас рисуется DrawImage(). Её нельзя загрузить одной картинкой, так как она меняется в зависимости от освещения. Если день то картинка одна, если ночь друга, если ночь и рядом факел - такая же как днём. Также, обратил внимание на то, что Cls ничего не делает( по крайней мере видимо). На что он влияет?
|
Ответ: Vivo
Ясно.
А cls (сокращенно от 'clear screen') - команда которая стирает все с экрана. Так как в большинстве игр экран все равно перерисуется целиком, чаще всего не используется. |
Ответ: Vivo
И что, получается кроме drawimage() ничего не остаётся? И ещё вопрос: почему так требовательно. Рисуется только 1280 картинок, а в минуса уходит 500 фпс.
|
Ответ: Vivo
ну дык 1280 DIP это немало, неплохо бы оптимизировать было :)
|
Ответ: Vivo
Вот и думаю, как бы это сделать. Пытался сделать так, чтобы рисовалась только та земля что видна, правда функция на проверку требует столько же(если не больше):)
|
Ответ: Vivo
Ни за что не поверю что простая проверка пересечения прямоугольников потребует больше времени чем вызов такой тяжелой функции как DIP.
|
Ответ: Vivo
Функция делает перебор по всем элементам типа земля и по всем элементам типа камни. То есть, если на карте 100 камней, ты мы проверяем 1280 блоков земли на эти 100 камней, только ради того чтобы не рисовать 100 блоков земли под ними.
|
Ответ: Vivo
А зачем вообще блоки земли хранятся? Разве с ней можно что-то сделать (имею ввиду игровой процесс)?
Пусть рисует поблочно землю только на текущем экране, с учетом освещения, все как надо, а как объекты ее не хранит вообще. |
Ответ: Vivo
а без типов тут не обойтись, это нужно для удобного расчета расстояния от блока земли до факела.
|
Ответ: Vivo
Но ведь можно в том месте, где происходит отрисовка всего,
тупо пустить цикл рисования тайлов земли, и на каждом шагу цикла будут доступны координаты тайла земли (иначе как их рисовать?), и следовательно можно будет рассчитать и расстояние до источников света, и подходящий цвет. |
Ответ: Vivo
Код:
Function Close2Stone(lx,ly) |
Ответ: Vivo
Код:
Function CreateArrow(x2,y2) Также, нужны картинки лука, стрелы, копья, верстака, крабового мяса, сундука, двери. Всё кроме верстака 32х32, верстак 64х32. Заранее спасибо! UPD Всё проблема решена: просто перевернул картинку стрелы. Хотя, не ясно почему нужен минус, а не плюс. |
Ответ: Vivo
Код:
Function UpdateMap() |
Ответ: Vivo
а на сколько это более выгодно, чем использовать типы?
|
Ответ: Vivo
Экономит память. Делает код немого понятнее. А быстродействие надо затестить.
|
Часовой пояс GMT +4, время: 01:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot