Плохо! Плохо!:  0
Страница 1 из 6 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 55

Тема: Mini Map

  1. #1
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию Mini Map

    Мой второй скрипт.

    Спойлер Mini_Map код:


    R=4 # размер квадрата
    DX=25*R+12 # ширина
    DY=20*R+12 # высота
    X_POS=640-DX # позиция по х
    Y_POS=480-DY # позиция по у
    X=1
    Y=2

    class Scene_Map

    alias scene_map_main main
    alias scene_map_update update

    def main
    # рисуем окно
    @stats_window = Window_Mini_map.new
    @stats_window.opacity = 75
    @stats_window.x = X_POS
    @stats_window.y = Y_POS
    #-------------------------------------------------
    scene_map_main # Вызываем настоящию Scene_Map
    @stats_window.dispose
    end

    def update
    @stats_window.update
    scene_map_update # call REAL Scene_Map update
    end

    end

    class Window_Mini_map < Window_Base

    def initialize
    super(0, 0, DX, DY)
    self.contents = Bitmap.new(20*R, 15*R)
    @counter = 20
    self.x=0
    self.y=0
    refresh
    end

    def refresh
    self.contents.clear
    @x=$game_variables[X] # Х поз
    @y=$game_variables[Y] # У поз
    @map=$game_map # мапа
    @tid=@map.tileset_name.to_i # Ид тайлсета (имя файла)\\ доработать##(имя тайла должно содержать номер тайлсета)
    self.contents.fill_rect(0,0,20*R,20*R, Color.new(250,250,250,200))
    mini_map
    self.contents.fill_rect(@x*R-@x1*R,@y*R-@y1*R,R,R, Color.new(255,0,0,200))
    end

    #------------------------------------------------------------------------




    def mini_map
    #------------------------------------------------------------------------
    #------------------------------------------------------------------------
    @x1=0
    @x2=19
    @y1=0
    @y2=14
    #------------------------------------------------------------------------
    #------------------------------------------------------------------------
    if @map.width>20
    if @x>=10
    then
    @x1=@x-10
    @x2=@x+9
    else
    @x1=0
    @x2=19
    end
    end
    #-------------------------------------------------------------------------------
    #-------------------------------------------------------------------------------
    if @map.height>15
    if @y>=7
    then
    @y1=@y-7
    @y2=@y+7
    else
    @y1=0
    @y2=14
    end
    end
    #------------------------------------------------------------------------
    #------------------------------------------------------------------------
    for i in @x1..@x2
    for j in @y1..@y2
    mini_map_ini(i,j)
    end
    end
    #------------------------------------------------------------------------
    #------------------------------------------------------------------------
    end

    #------------------------------------------------------------------------
    #------------------------------------------------------------------------
    def mini_map_ini(i,j)
    begin p0=$data_tilesets[@tid].passages[@map.data[i,j,0]] rescue p0=666 end # проходимость слоя 1
    begin p1=$data_tilesets[@tid].passages[@map.data[i,j,1]] rescue p1=666 end # проходимость слоя 2
    begin p2=$data_tilesets[@tid].passages[@map.data[i,j,2]] rescue p0=666 end # проходимость слоя 3

    mini_map_paint(p0,p1,p2,i,j)
    end

    #-------------------------------
    # рисуем ректы мапы (доработать)
    #-------------------------------

    def paint(i,j,r=0,g=0,b=0,a=200)
    self.contents.fill_rect(i*R-@x1*R,j*R-@y1*R,R,R, Color.new(r,g,b,a))
    end

    def case_p(p,i,j)
    case p
    when 0
    when 666
    paint(i,j,0,0,0)
    when 143
    paint(i,j,150,0,150)
    when 64
    paint(i,j,150,150,150)
    else
    if p>=1 and p<15 then paint(i,j,125,125,125) else paint(i,j,0,0,0) end
    end
    end

    def mini_map_paint(p0,p1,p2,i,j)
    case_p(p0,i,j)
    case_p(p1,i,j)
    case_p(p2,i,j)
    end
    #-------------------------------
    # обновляем через @counter кадров, малое значение вызывает лаги, наверно...
    #-------------------------------

    def update
    super
    @counter -= 1
    if @counter == 0
    refresh
    @counter = 10
    end
    end
    end



    Инструкция по установки: Вставить до Маини,
    создать паралельный процесс, записывающий координаты игрока в переменные

    Код не завершён, это бета версия
    Последний раз редактировалось Dark32; 26.01.2009 в 09:40.
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  2. #2
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,279
    Записей в дневнике
    2
    Репутация: 87 Добавить или отнять репутацию

    По умолчанию

    Может ты приведешь скрины.

  3. #3
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,020
    Записей в дневнике
    3
    Репутация: 165 Добавить или отнять репутацию

    По умолчанию

    Интересно! Хочется посмотреть как работает мини-карта на больших картах.
    И еще... раз уж создается такой скрипт, то надо сделать вариант с "туманом войны". Пусть открываются только те части карты, где герой был.
    Я себе сделал элементарно простую вызываемую карту: карта в 300х300 клеток представляется как мини-карта 300х300 пикселей в полупрозрачном виде. По большой ходит герой, по малой - яркий квадратик. Проще не бывает. Но давать игроку полный обзор не хочется. Есть несколько вариантов "затемнить" карту, но все они нагружают систему. Может быть есть простой способ на Руби?

    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/downloads/%D0%B7%...-2010raid-full

  4. #4
    Бывалый Аватар для Inkognitoo
    Информация о пользователе
    Регистрация
    30.09.2008
    Адрес
    Пермь.
    Сообщений
    988
    Записей в дневнике
    4
    Репутация: 16 Добавить или отнять репутацию

    По умолчанию

    Отличная приколюга, уверен, очень пригодится на больших картах)))

  5. #5
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    На данной стадии мини карта выводит облость 20х15 карты проходимости,
    если мне объяснят как связан tile_id с его положением в тайлсете, могу сделать по тайлсету
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  6. #6
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,279
    Записей в дневнике
    2
    Репутация: 87 Добавить или отнять репутацию

    По умолчанию

    Ну твоя карта простенькая, я помню начал карту на основе уменьшенных карт, причем без всяких дополнительных рисунков, жалко валяется нету время доделать. Развивай скрипт в другом направлении,а то эти квадраты смотрятся плохо. Можешь сделать с папки, это тоже не сложно, просто долго будет создавать для каждой карты.

  7. #7
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    Можно поподробней
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  8. #8
    Маститый Аватар для Bullet S.D.
    Информация о пользователе
    Регистрация
    27.01.2009
    Адрес
    Moscow
    Сообщений
    1,266
    Записей в дневнике
    10
    Репутация: 61 Добавить или отнять репутацию

    По умолчанию

    Квадраты в мини карте ужасны! О__о! Лично я не понял что там изображено ))
    Я видел мини карту в скрипте "Mr Mo ABS" очень круто сделано надо стремиться к этому --->

  9. #9
    Бывалый Аватар для Dark32
    Информация о пользователе
    Регистрация
    30.12.2008
    Адрес
    Арзамас
    Сообщений
    640
    Записей в дневнике
    2
    Репутация: 20 Добавить или отнять репутацию

    По умолчанию

    Я не смог оттуда выдрать, я к этому и стремлюсь
    Нужна помощь в скриптах? Запутался? Голова не варит?
    Читал это и это тоже? Не помогло? Тогда тебе сюда!
    Спойлер •••:
    Цитата Сообщение от Реймон
    В мире нет вещей которые нельзя решить с помощью сладостей
    Цитата Сообщение от Ундер
    Ночью можно обойтись и без сладостей...

  10. #10
    Мастер Форума Аватар для Рольф
    Информация о пользователе
    Регистрация
    14.04.2008
    Адрес
    Южно- Сахалинск/Пенза
    Сообщений
    8,279
    Записей в дневнике
    2
    Репутация: 87 Добавить или отнять репутацию

    По умолчанию

    Я имел виду делаешь скрин карты и помешаешь маленькие планы в папку. Потом считываешь. Будет на много красивее. Я трудился что бы макер сам делал скрин и вертелся в памяти. Был на правильном пути, нету время закончить. Есть скрипты важнее которые надо закончить.

Страница 1 из 6 123 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

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