Тема: Vivo
Показать сообщение отдельно
Старый 31.01.2012, 18:10   #77
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Vivo

Сообщение от Nikich Посмотреть сообщение
И можете сказать подробнее, как оптимизировать загрузку картинок? Я думал может сделать так, чтобы картинки загружались когда игрок подходит близко к объекту.
Если карта больше чем экран, то делай все тайлы карты в одном изображении, загружай через LoadAnimImage () при старте программы (загружать надо только один раз(!)) потом рисуй DrawImage image,x,y,map (x+offset_x,y+offset_y)
image - переменная (хендл) картинки которая загружена через LoadAnimImage.
x,y - координаты. тут все так же надо умножать на размер картинки
map (x+offset_x,y+offset_y) - это массив карты в котором содержатся id клеток.
Дальше надо будет завести 2 переменных, которые отвечают за смещение по X и Y (допустим offset_x и offset_y) и в зависимости от нажатия кнопок увеличивай/уменьшай эти переменные.
В итоге допустим если в массиве map (1,1) =1 (допустим камень), то рисуется 1 кадр загруженного изображения (надо чтобы в первом кадре тоже был тайл камня) и получается что на экране рисуются только те клетки, которые на экране из за чего плюс к fps. Мисус в том, что тайлы будут не много резко двигаться в стороны при движении игрока.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Program23 (31.01.2012)