Показано с 1 по 10 из 13

Тема: Caveman's event shifts

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Бывалый Аватар для caveman
    Информация о пользователе
    Регистрация
    15.02.2013
    Сообщений
    766
    Записей в дневнике
    47
    Репутация: 85 Добавить или отнять репутацию

    По умолчанию Caveman's event shifts

    Caveman's event shifts
    Автор: caveman
    Версия: 1.0
    Тип: работа с событиями




    Описание:

    Скрипт позволяет очень просто сдвигать графику евентов на карте на заданное количество пикселей по оси x и y.
    Полезно для точной настройки больших событий (типа анимации огня в камине) и выравнивания какой-нибудь еды на столе без фотошопа.
    Описание использования в скрипте.

    Скрипт:
    Спойлер Код:

    Код:
    # Event shifts script VX ACE
    # автор: caveman
    # версия 1.1
    #
    # Скрипт позволяет:
    # - задавать сдвиги в px для отрисовки спрайта события
    # - задавать сдвиг по высоте z для определения, что будет отрисовано
    #   сверху при наложении спрайтов событий
    #
    # Просто напишите в комменте события нечто вроде
    # [es|-16|16|1]
    # для сдвига картинки события влево на 16 пикселей и вниз на 16, и 
    # сдвига 1 по оси z (даже +1 по z хватит, чтобы перекрыть события
    # без этого сдвига.
    
     
    class Game_CharacterBase
      attr_accessor :xs # сдвиг по х
      attr_accessor :ys # сдвиг по y
      attr_accessor :zs # сдвиг по z
     
      alias es_initialize initialize
      def initialize
        self.xs=0
        self.ys=0
        self.zs=0
        es_initialize
      end
     
      def setup_shifts(dispose)
        unless dispose && @list.nil?
          for command in @list
            if command.code == 108 && command.parameters[0].include?("[es")
              command.parameters[0].gsub(/\[[Ee][Ss]\|(.+?)\|(.+?)\|(.+?)\]/) do
                self.xs = $1.to_s.to_i
                self.ys = $2.to_s.to_i
                self.zs = $3.to_s.to_i
              end
            end
          end
        end
      end
    end
     
    class Game_Event
      alias es_refresh refresh
      def refresh
        es_refresh
        setup_shifts(@page.nil?)
      end
    end
    
    class Sprite_Character
      def update_position
        move_animation(@character.screen_x - x, @character.screen_y - y)
        self.x = @character.screen_x + @character.xs
        self.y = @character.screen_y + @character.ys
        self.z = @character.screen_z + @character.zs
      end
    end


    Скрипт будет конфликтовать с моим же Big Events (ибо почти весь код потырен оттуда ), если вдруг кому-то понадобится сильно - можно скомбинировать.
    Последний раз редактировалось caveman; 30.04.2014 в 21:02. Причина: версия 1.1
    back to the primitive

    http://cavemangame.blogspot.ru/ - разные идеи и новости
    http://cavescripts.blogspot.ru/ - мои скрипты
    http://cavecrusader.blogspot.ru/ - текущий проект

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

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

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

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

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

Ваши права

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