Показано с 1 по 8 из 8

Тема: Graphics

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Graphics

    Порядок следования:
    WinAPI
    Screen
    Graphics

    Код:
    #==============================================================================
    # Graphics
    #------------------------------------------------------------------------------
    # Модуль, отвечающий за обработку графики.
    #==============================================================================
    module Graphics
      #-----------------------------------------------------------------------------
      # Возвращает ширину игрового экрана (integer)
      #-----------------------------------------------------------------------------
      def self.width
        return Screen.window_rect.width
      end
      #-----------------------------------------------------------------------------
      # Возвращает высоту игрового экрана (integer)
      #-----------------------------------------------------------------------------
      def self.height
        return Screen.window_rect.height
      end
      #----------------------------------------------------------------------------
      # * Возвращает "яркость экрана" (обратное значение непрозрачности спрайта)
      #----------------------------------------------------------------------------
      def self.brightness
        return -(@brightness.opacity - 255)
      end
      #----------------------------------------------------------------------------
      # * Устанавливает "яркость экрана" (обратное значение непрозрачности спрайта)
      #     new_brightness : integer - яркость (0 - 255)
      #----------------------------------------------------------------------------
      def self.brightness=(new_brightness)
        @brightness.opacity = -(new_brightness - 255)
      end
      #----------------------------------------------------------------------------
      # * Пропускает заданное количество кадорв (обновляя экран)
      #     duration : integer - количество кадров
      #----------------------------------------------------------------------------
      def self.wait(duration)
        duration.times do
          Graphics.update
        end
      end
      #----------------------------------------------------------------------------
      # * Уменьшает "яркость" до 0 за заданное количество кадров
      #     duration : integer - количество кадров
      #----------------------------------------------------------------------------
      def self.fadeout(duration)
        n = (255 - @brightness.opacity).to_f / duration.to_f
        n = n.round
        for i in 0..duration
          break if @brightness.opacity + n > 255
          @brightness.opacity += n
          Graphics.update
        end
        @brightness.opacity = 255
      end
      #----------------------------------------------------------------------------
      # * Увеличивает "яркость" до 255 за заданное количество кадров
      #     duration : integer - количество кадров
      #----------------------------------------------------------------------------
      def self.fadein(duration)
        n = 255.0 / duration.to_f
        n = n.round
        for i in 0..duration
          break if @brightness.opacity - n < 0
          @brightness.opacity -= n
          Graphics.update
        end
        @brightness.opacity = 0
      end
      #----------------------------------------------------------------------------
      @brightness = Sprite.new
      @brightness.opacity = 0
      @brightness.bitmap = Bitmap.new(width, height)
      @brightness.bitmap.fill_rect(0, 0, width, height, Color.new (0, 0, 0, 255))
      @brightness.z = 3000
      #----------------------------------------------------------------------------
    end
    Последний раз редактировалось Equilibrium Keeper; 16.07.2011 в 12:20.

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

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

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

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

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

Ваши права

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