- Сообщений: 3147
- Спасибо получено: 2651
[xp]Copy map
12 года 8 мес. назад #63794
от DeadElf79
+Позволяет скопировать часть карты или всю карту в выбранное место
+Позволяет копировать из других карт в нужную
+Результат сохраняется и будет виден в редакторе
Недостатки:
-Необходимо перезагружать карту после применения, чтобы увидеть результат
-На картах с разными тайлсетами сработает убого
Copy_Map.new(src_map_id,dest_map_id,src_rect,dest_x,dest_y)
где src_map_id - номер той карты, из которой мы копируем,
dest_map_id - номер той карты, в которую мы вставляем,
src_rect - прямоугольник карты,
dest_x - координата X, куда вставляем,
dest_y - координата Y, куда вставляем.
Пример вызова:
Copy_Map.new(2,2,Rect.new(0,0,5,
,12,0)
DeadElf79 создал тему: [xp]Copy map
Название: Copy Map
Автор: DeadElf79
Версия: 1.0 (от 15.05.2013)
Возможности:+Позволяет скопировать часть карты или всю карту в выбранное место
+Позволяет копировать из других карт в нужную
+Результат сохраняется и будет виден в редакторе
Недостатки:
-Необходимо перезагружать карту после применения, чтобы увидеть результат
-На картах с разными тайлсетами сработает убого
Инструкция:
Вызываем скрипт с такими параметрами:Copy_Map.new(src_map_id,dest_map_id,src_rect,dest_x,dest_y)
где src_map_id - номер той карты, из которой мы копируем,
dest_map_id - номер той карты, в которую мы вставляем,
src_rect - прямоугольник карты,
dest_x - координата X, куда вставляем,
dest_y - координата Y, куда вставляем.
Пример вызова:
Copy_Map.new(2,2,Rect.new(0,0,5,
,12,0)
Скрипт:
Code:
#=============================================================================
# COPY MAP or part of these
# Author: DeadElf79
# Version: 1.0
# Date: 15.05.2013
#=============================================================================
class Scene_Map
attr_accessor :spriteset
end
class Copy_Map
def initialize(src_map_id,dest_map_id,src_rect,dest_x,dest_y)
@src_map=load_data(sprintf("Data/Map%03d.rxdata", src_map_id))
@dest_map=load_data(sprintf("Data/Map%03d.rxdata", dest_map_id))
@id=dest_map_id
@src_rect = src_rect
@x,@y = dest_x,dest_y
start_copy
save_result
refresh
end
def start_copy
for i in @src_rect.x..@src_rect.x+@src_rect.width
for j in @src_rect.y..@src_rect.y+@src_rect.height
for k in 0..3
@dest_map.data[@x+i,@y+j,k]=@src_map.data[i,j,k]
end
end
end
end
def save_result
save_data(@dest_map,sprintf("Data/Map%03d.rxdata", @id))
end
def refresh
if $scene.is_a?(Scene_Map) then
Graphics.freeze
$game_map.refresh
Graphics.transition
end
end
end
Спасибо сказали: strelokhalfer
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63797
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме [xp]Copy map
Занятная вещица
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63828
от DeadElf79
DeadElf79 ответил в теме [xp]Copy map
Задумывался этот скрипт как часть генератора карт из уже готовых кусочков, потому что генератор, выдающий на выходе нормальную карту с хорошим маппингом просто не существует на нашем мейкере)
К сожалению, так и не понял, как сделать сам генератор так, чтобы комнаты соединялись коридорами и не сливались, создавая бешеный мозговынос.
К сожалению, так и не понял, как сделать сам генератор так, чтобы комнаты соединялись коридорами и не сливались, создавая бешеный мозговынос.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63835
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме [xp]Copy map
Создать кучу условий и проверок.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63838
от DeadElf79
DeadElf79 ответил в теме [xp]Copy map
Стрелок, была идея на основе bsp-дерева построить, чтобы комнаты, похожие по размерам, вставлялись, да и все. Только тогда нужно учесть, чтобы в тайлсете все это было.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63839
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме [xp]Copy map
bsp? Типа кваки, GoldSrc и Sourse, да?
[strike]Можно поглядеть, как генерация подземелий в Асе сделана.[/strike]Хрень сказал, это сам мейкер делает.
[strike]Можно поглядеть, как генерация подземелий в Асе сделана.[/strike]Хрень сказал, это сам мейкер делает.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63840
от DeadElf79
DeadElf79 ответил в теме [xp]Copy map
Это эйс делает. Нет, под bsp я понимаю один урок с рогубасина))
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- strelokhalfer
-
- Не в сети
- Живу я здесь
-
- Знатный грамотей
Скрыть
Больше
- Сообщений: 1640
- Спасибо получено: 1080
12 года 8 мес. назад #63841
от strelokhalfer
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
strelokhalfer ответил в теме [xp]Copy map
Хмм, и что за урок?
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
12 года 8 мес. назад #63842
от DeadElf79
DeadElf79 ответил в теме [xp]Copy map
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.112 секунд
