Изменения размеров комнаты - Проблема - решение. GML и прочее. - Разработка игр на Game Maker (Simple Mode) - Форум Game Maker. Разработка игр.
Здравствуй Гость | Перейти на сайт

Главная | Форум | Регистрация | Войти
gmaker.net ;) [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Проблема - решение. GML и прочее. » Изменения размеров комнаты
Изменения размеров комнаты
Neuton_Mouse Дата: Суббота, 07.08.2010, 16:15 | Сообщение # 1
Болтун
Группа: Проверенные
Сообщений: 224
Статус: Offline
Такс, делаю редактор карт, дошел до секции "нью мап" и столкнулся с такой проблемой:

Дано:
Есть 3 румы:
1) Intro (здесь объявляются глобальные переменные а ля имя карты и стартовое значения ширины и высоты комнаты)
2) Dummy (здесь присваивается значения для румы (room_set_width(0,global._tb_new_x),room_set_height(0,global._tb_new_y) и идет дальше в следующую руму)
3) Editor (сам Редактор)

Задача:
Нужно поменять размер Editor'a - "создать новую карту с таким именем и с такой то шириной и высотой"

Как решалось:
Та все просто, при "создание новой карты" global._tb_new_x,у - меняется и опять посещается Dummy. wacko

Проблема:
Если новое значение такое же как и на дефолте - то все норм (скажем старт комнаты 1600х1200 и при создание ставишь столько же то походу ни черта не меняется), а вот если уже ставишь другое число - тогда то значение которое поменял - аннулируется (выходит room_width становится 0). wtf???

 
DreamRunner Дата: Воскресенье, 08.08.2010, 16:32 | Сообщение # 2
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
А что тебе даст изменение размеров комнаты? У меня например свои переменные, например roomW, roomH и я их просто записываю в файл с инфой, а размер комнаты при этом даже не знаю какой.
 
Druce Дата: Воскресенье, 08.08.2010, 16:36 | Сообщение # 3
Каждый 5й пост мой
Группа: Страж
Сообщений: 1543
Статус: Offline
Вид ведь можно поместить в любую точку карты. Ограничения только на то, что через сам гм можно размещать объекты только в пределах комнаты, ну и room_width/height показывают формальные размеры, а так ты можешь помещать что угодно в любые координаты.


druce.ucoz.ru|andrewsweekly.livejournal.com|А OneStep тем временем мертв.
 
Neuton_Mouse Дата: Воскресенье, 08.08.2010, 17:15 | Сообщение # 4
Болтун
Группа: Проверенные
Сообщений: 224
Статус: Offline
Изменение размеров комнаты даст то что мне надо - размер уровня smile

Если рума 2000х2000 а задуманная карта скажем 1600х1600 - то как это осуществить, как поменять размеры? - вот в чем вопрос.
Понятно что можно сделать некий псевдо-сайз румы (как это обычно и делается за пределами гм) и ограничить территорию виду, при этом поставить заводской рум сайз где то на 3200х3200, это я правильно прикинул, Druce ?

Тем более что вид категорически отказывается лезть за пределы румы, я так понимаю нужно прибегнуть к 3д проекции для решение данной проблемы? (там вроде сайз вместе с камерой - по фигу...).



Сообщение отредактировал Neuton_Mouse - Воскресенье, 08.08.2010, 17:15
 
DreamRunner Дата: Воскресенье, 08.08.2010, 17:43 | Сообщение # 5
Админ
Группа: Админы
Сообщений: 1382
Статус: Offline
Quote (Neuton_Mouse)
Тем более что вид категорически отказывается лезть за пределы румы, я так понимаю нужно прибегнуть к 3д проекции для решение данной проблемы? (там вроде сайз вместе с камерой - по фигу...).

eek

сделай рум по размеру вида. Как это вид не идёт дальше размера комнаты? всё идёт и объеты там ставить можно. Просто сохраняй размеры рума для себя, можешь контур чертить по периметру комнаты чтоб было понятно где граница.

 
Druce Дата: Воскресенье, 08.08.2010, 17:44 | Сообщение # 6
Каждый 5й пост мой
Группа: Страж
Сообщений: 1543
Статус: Offline
Quote (Neuton_Mouse)
Тем более что вид категорически отказывается лезть за пределы румы

А вот этоты откуда взял? view_xview=123456 - это просто переменная. По сути же координаты х и у бесконечны, причем даже в обе стороны (ну в смысле там есть какое-то ограничение, но оно очень большое, вызвано сугубо конечностью типа переменной). Просто для передвижения вида надо пользоваться не автоматическими функциями гм, а тупо выставлять его координпты вручную кодом. Проблем никаких быть не должно.
А насчет размера уровня - как ты его собираешься сохранять? Если тупо сейвгеймом, то да, могут возникнуть проблемы. А если ты делаешь свой формат данных и своими алгоритмами туда записываешь информацию о каждом объекте, то кто тебя заставляет использовать заводские переменные?


druce.ucoz.ru|andrewsweekly.livejournal.com|А OneStep тем временем мертв.
 
Neuton_Mouse Дата: Воскресенье, 08.08.2010, 18:13 | Сообщение # 7
Болтун
Группа: Проверенные
Сообщений: 224
Статус: Offline
Ладно, проблема решена, обнаружил ограничитель на виды в старом проекте:
view_xview[0]=min(room_width-view_wview[0],max(0,view_xview[0]));

Извиняйте за "гон по полной" и спасибо за внимание :)

Quote
Если тупо сейвгеймом

Обижаешь Дрюс :)

 
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Проблема - решение. GML и прочее. » Изменения размеров комнаты
Страница 1 из 11
Поиск:



Сообщество Gmaker.SU 2005-2012
Используются технологии uCoz
Простой вход