Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax > 2D-программирование

Ответ
 
Опции темы
Старый 26.08.2013, 23:53   #1
dranichek
AnyKey`щик
 
Аватар для dranichek
 
Регистрация: 20.08.2013
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Печаль map + camera

Доброго времени суток!

Помогите начинающему, пытаюсь разобраться как в BlitzMax работать с камерой (т.е чтобы экран "выхватывал" только определенную часть игрового мира), или, например, есть большое изображение, мы видим только его часть, а с помощью стрелок мы можем перемещаться по нему.
И как сделать, чтобы у объекта(небольшое изображение, напр.) были координаты относительно игрового мира, а не экрана. Т.е камера движется, а объект остается на своем месте

Буду очень благодарен, прошу объяснить подробно, если не затруднит

заранее благодарен
__________________
здесь не может быть Вашей рекламы
(Offline)
 
Ответить с цитированием
Старый 27.08.2013, 00:16   #2
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,354
Написано 2,470 полезных сообщений
(для 6,850 пользователей)
Ответ: map + camera

http://forum.boolean.name/showthread.php?t=3609
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dranichek (27.08.2013)
Старый 27.08.2013, 00:25   #3
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: map + camera

Лучше всего работать с тайлами - квадратные (или прямоугольные, или шестиугольные, как угодно) кусочки карты. Хранить можно в массиве, а на экран выводить только то что нужно.

Например завести переменные offset_x и offset_y, которые будут указывать текущее положение камеры, массив Map(n1,n2) содержит число, которое указывает на определенный тайл (трава, горы и т.п.). Предварительно в массив Images(n) загружаем изображения тайлов. На экран выводить двумя циклами:

;Будет выводиться кусок 10х10
for x=1 to 10
 for y=1 to 10
  Tile=Map(x+offset_x,y+offset_y)
  DrawImage Images(Tile),(x+offset_x)*20,(y+offset_y)*20
  ;20 - размер картинки тайла (например)
 next
next
Для определения положения объекта относительно камеры, вычитаем из его глобальных координат offset_x и offset_y.

Вот, в общих чертах... А вообще, используй поиск, эта тема уже поднималась, да и вообще исходники/уроки поищи
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dranichek (27.08.2013)
Старый 27.08.2013, 01:16   #4
Черный крыс
 
Сообщений: n/a
Ответ: map + camera

Глянь в сторону SetOrigin(x, y)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 13:05.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com