| Изменения размеров комнаты |
|
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. Проблема: Если новое значение такое же как и на дефолте - то все норм (скажем старт комнаты 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
|
Изменение размеров комнаты даст то что мне надо - размер уровня Если рума 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д проекции для решение данной проблемы? (там вроде сайз вместе с камерой - по фигу...). сделай рум по размеру вида. Как это вид не идёт дальше размера комнаты? всё идёт и объеты там ставить можно. Просто сохраняй размеры рума для себя, можешь контур чертить по периметру комнаты чтоб было понятно где граница.
|
| |
| | |
|
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 Если тупо сейвгеймом Обижаешь Дрюс :)
|
| |
| |
|
|