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

Тема: Eokati

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Вижу ты используешь DLL от Esrever на изменение разрешения. так же знаю, что с ней не работают панорамы. Поэтому, на всякий пожарный держи фикс этого
    Спойлер Фикс:
    Код:
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    #  ▼ Plane
    #  Author: Kread-EX
    #  Version 1.01
    #  Release date: 08/01/2013
    #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    
    #------------------------------------------------------------------------------
    #  ▼ UPDATES
    #------------------------------------------------------------------------------
    # #  11/04/2013. Added compatibility with Yanfly's Parallax Lock.
    #------------------------------------------------------------------------------
    #  ▼ TERMS OF USAGE
    #------------------------------------------------------------------------------
    # #  You are free to adapt this work to suit your needs.
    # #  You can use this work for commercial purposes if you like it.
    # #
    # # For support:
    # # grimoirecastle.wordpress.com
    # # rpgmakerweb.com
    #------------------------------------------------------------------------------
    #  ▼ INTRODUCTION
    #------------------------------------------------------------------------------
    # # Rewrite the Plane class to work with Esrever's hacked DLL. Plug-and-play.
    #------------------------------------------------------------------------------
    
    #==============================================================================
    # ■ Plane
    #==============================================================================
    
    class Plane
      #--------------------------------------------------------------------------
      # ● Object initialize
      #--------------------------------------------------------------------------
      def initialize(view = nil)
        @viewport = view
        @sprite = Sprite.new(@viewport)
      end
      #--------------------------------------------------------------------------
      # ● Free
      #--------------------------------------------------------------------------
      def dispose
        @sprite.dispose
      end
      #--------------------------------------------------------------------------
      # ● Get freed
      #--------------------------------------------------------------------------
      def disposed?
        @sprite.disposed?
      end
      #--------------------------------------------------------------------------
      # ● Get visible
      #--------------------------------------------------------------------------
      def visible
        @sprite.visible
      end
      #--------------------------------------------------------------------------
      # ● Set visible
      #--------------------------------------------------------------------------
      def visible=(value)
        @sprite.visible = value
      end
      #--------------------------------------------------------------------------
      # ● Get zoom x
      #--------------------------------------------------------------------------
      def zoom_x
        @sprite.zoom_x
      end
      #--------------------------------------------------------------------------
      # ● Set zoom x
      #--------------------------------------------------------------------------
      def zoom_x=(value)
        @sprite.zoom_x = value
      end
      #--------------------------------------------------------------------------
      # ● Get zoom y
      #--------------------------------------------------------------------------
      def zoom_y
        @sprite.zoom_y
      end
      #--------------------------------------------------------------------------
      # ● Set zoom y
      #--------------------------------------------------------------------------
      def zoom_y=(value)
        @sprite.zoom_y = value
      end
      #--------------------------------------------------------------------------
      # ● Get opacity
      #--------------------------------------------------------------------------
      def opacity
        @sprite.opacity
      end
      #--------------------------------------------------------------------------
      # ● Set opacity
      #--------------------------------------------------------------------------
      def opacity=(value)
        @sprite.opacity = value
      end
      #--------------------------------------------------------------------------
      # ● Get blend type
      #--------------------------------------------------------------------------
      def blend_type
        @sprite.blend_type
      end
      #--------------------------------------------------------------------------
      # ● Set blend type
      #--------------------------------------------------------------------------
      def blend_type=(value)
        @sprite.blend_type = value
      end
      #--------------------------------------------------------------------------
      # ● Get color
      #--------------------------------------------------------------------------
      def color
        @sprite.color
      end
      #--------------------------------------------------------------------------
      # ● Set color
      #--------------------------------------------------------------------------
      def color=(value)
        @sprite.color = value
      end
      #--------------------------------------------------------------------------
      # ● Get tone
      #--------------------------------------------------------------------------
      def tone
        @sprite.tone
      end
      #--------------------------------------------------------------------------
      # ● Set tone
      #--------------------------------------------------------------------------
      def tone=(value)
        @sprite.tone = value
      end
      #--------------------------------------------------------------------------
      # ● Frame update
      #--------------------------------------------------------------------------
      def update
        @sprite.update
      end
      #--------------------------------------------------------------------------
      # ● Get viewport
      #--------------------------------------------------------------------------
      def viewport
        @viewport
      end
      #--------------------------------------------------------------------------
      # ● Set viewport
      #--------------------------------------------------------------------------
      def viewport=(value)
        @viewport = value
        @sprite.viewport = viewport
      end
      #--------------------------------------------------------------------------
      # ● Get bitmap
      #--------------------------------------------------------------------------
      def bitmap
        @sprite.bitmap
      end
      #--------------------------------------------------------------------------
      # ● Set bitmap
      #--------------------------------------------------------------------------
      def bitmap=(value)
        if value.nil?
          @sprite.bitmap = value
          return
        end
        bw = @viewport ? @viewport.rect.width : Graphics.width
        bh = @viewport ? @viewport.rect.height : Graphics.height
        if SceneManager.scene.is_a?(Scene_Map) #&& $game_map.parallax_tile_lock?
          bw = $game_map.width * 32
          bh = $game_map.height * 32
        end
        rw = bw.fdiv(value.width).ceil
        rh = bh.fdiv(value.height).ceil
        new_bmp = Bitmap.new(bw, bh)
        0.upto(rw).each do |x|
          0.upto(rh).each do |y|
            new_bmp.blt(x * value.width, y * value.height, value, value.rect)
          end
        end
        @sprite.bitmap = new_bmp
      end
    
      #--------------------------------------------------------------------------
      # ● Get ox
      #--------------------------------------------------------------------------
      def ox
        @sprite.ox
      end
      #--------------------------------------------------------------------------
      # ● Set ox
      #--------------------------------------------------------------------------
      def ox=(nox)
        @sprite.ox = nox
      end
      #--------------------------------------------------------------------------
      # ● Get oy
      #--------------------------------------------------------------------------
      def oy
        @sprite.oy
      end
      #--------------------------------------------------------------------------
      # ● Set oy
      #--------------------------------------------------------------------------
      def oy=(noy)
        @sprite.oy = noy
      end
      #--------------------------------------------------------------------------
      # ● Get z
      #--------------------------------------------------------------------------
      def z
        @sprite.z
      end
      #--------------------------------------------------------------------------
      # ● Set z
      #--------------------------------------------------------------------------
      def z=(z)
        @sprite.z = z
      end
    end
    
    
    
    ##### PLANE FIX #####
    #-------------------------------------------------------------------------------
    # FenixFyre's custom Plane, simply drawing a sprite. Needs to do something about
    # the y-axis
    #-------------------------------------------------------------------------------
    class Plane
      attr_reader :ox, :oy
      
      alias :th_unlimited_resolution_initialize :initialize
      def initialize(viewport = nil)
        th_unlimited_resolution_initialize(viewport)
        @sprite = Sprite.new(viewport)
        @bitmap = nil
        @ox = 0
        @oy = 0
      end
    	
    	alias :th_unlimited_resolution_dispose :dispose
      def dispose
        th_unlimited_resolution_dispose
        @sprite.dispose if @sprite
        @sprite = nil
      end
    
      def method_missing(symbol, *args)
        @sprite.method(symbol).call(*args)
      end
      
      def bitmap=(bitmap)
        @bitmap = bitmap
        refresh
      end
      
      def bitmap
        @sprite.bitmap
      end
      
      def ox=(ox)
        w = @sprite.viewport != nil ? @sprite.viewport.rect.width : Graphics.width
        @ox = ox % w
        @sprite.ox = @ox
      end
      
      def oy=(oy)
        h = @sprite.viewport != nil ? @sprite.viewport.rect.height : Graphics.height
        @oy = oy % h
        @sprite.oy = @oy
      end
      
      def refresh
        return if @bitmap.nil?
        w = @sprite.viewport != nil ? @sprite.viewport.rect.width : Graphics.width
        h = @sprite.viewport != nil ? @sprite.viewport.rect.height : Graphics.height
        if @sprite.bitmap != nil
          @sprite.bitmap.dispose
        end
        @sprite.bitmap = Bitmap.new(w * 2, h * 2)
       
        max_x = w / @bitmap.width
        max_y = h / @bitmap.height
        for x in 0..max_x
          for y in 0..max_y
            @sprite.bitmap.blt(x * @bitmap.width, y * @bitmap.height,
             @bitmap, Rect.new(0, 0, @bitmap.width, @bitmap.height))
          end
        end
        for i in 1...4
          x = i % 2 * w
          y = i / 2 * h
          @sprite.bitmap.blt(x, y, @sprite.bitmap, Rect.new(0, 0, w, h))
        end
      end
    end

    ну это так, если тебе нужны панорамы в игре.
    Последний раз редактировалось dirge; 06.06.2014 в 22:38.

  2. #2
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    а что за "DLL от Esrever на изменение разрешения"? тоже хотелось бы разрешение на побольше сменить, а то единственное что нашел поддерживает максимум 640 на 480(

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

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

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

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

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

Ваши права

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