Project1

标题: 脚本盲询问这个脚本怎么看的 [打印本页]

作者: 渣小废    时间: 2017-8-8 20:12
标题: 脚本盲询问这个脚本怎么看的
本帖最后由 渣小废 于 2017-8-8 20:36 编辑

这是在66其他贴上找到的动态大图标的。想要这种非窗口式的弹出图片来。
把刷新速度变为0倒是可以做到伪静态。
但上自己的图片显示会不完全。
有没有大佬能解释下大概是怎么一个回事?如果刷新速度为0什么样的图片大小和格式才能合适?
怎样才能让我在想要的位置显示出自己想要大小的图片啊。



#==============================================================================

WALK_REFRESH_FRAME_SPEED = 0  # 刷新的速度,越大越慢,你可以改为3左右试试看

#==============================================================================
# Window_Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # 初始化方法
  #--------------------------------------------------------------------------
  alias initialize_walk initialize
  def initialize(x, y, width, height)
    initialize_walk(x, y, width, height)
    @start_walk = false
    @turn_index = 0
    @turn_phase = 0
  end
  #--------------------------------------------------------------------------
  # ★  物品动态图
  #     item : 物品
  #     x     : 描绘的 X 坐标
  #     y     : 描绘的 Y 坐标
  #--------------------------------------------------------------------------
  def draw_walk_item_graphic(item, x, y)
    iconname = item.name
    bitmap=RPG::Cache.icon("#{iconname}")
    cw = bitmap.width
    ch = bitmap.height
    @t = bitmap.width/bitmap.height
    @start_turn = true
    case @turn_phase
    when 0
      x_x = 0
    when 1
      x_x = cw
    when 2
      x_x = cw * 2
    when 3
      x_x = cw * 3
      when 4
      x_x = cw * 4
      when 5
      x_x = cw * 5
      when 6
      x_x = cw * 6
      when 7
      x_x = cw * 7
      when 8
      x_x = cw * 8
      when 9
      x_x = cw * 9
      when 10
      x_x = cw * 10
      when 11
      x_x = cw * 11
      when 12
      x_x = cw * 12
      when 13
      x_x = cw * 13
       when 14
      x_x = cw * 14
       when 15
      x_x = cw * 15
       when 16
      x_x = cw * 16
       when 17
      x_x = cw * 17
       when 18
      x_x = cw * 18
       when 19
      x_x = cw * 19
      when 20
      x_x = cw * 20
      when 21
      x_x = cw * 21
      when 22
      x_x = cw * 22
      when 23
      x_x = cw * 23
      when 24
      x_x = cw * 24
      when 25
      x_x = cw * 25
      when 26
      x_x = cw * 26
      when 27
      x_x = cw * 27
      when 28
      x_x = cw * 28
      when 29
      x_x = cw * 29
      when 30
      x_x = cw * 30
    end
    src_rect = Rect.new(x_x, 0, cw, ch)
    self.contents.blt(x - cw / 4, y - ch, bitmap, src_rect)
  end
  #--------------------------------------------------------------------------
  #  更新(可别使用刷新,玩命耗费内存= =)
  #--------------------------------------------------------------------------
  alias walk_update update
  def update
    walk_update
    if @start_turn == true
      @turn_index += 1
      if @turn_index == WALK_REFRESH_FRAME_SPEED
        refresh
        @turn_index = 0
        @turn_phase = (@turn_phase+1)%@t
      end
    end
  end  
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================



#==============================================================================
# ■ Window_Gold
#------------------------------------------------------------------------------
#  显示金钱的窗口。
#==============================================================================

class Window_itemicon < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(500, 64, 640, 480)
    @item = nil
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    update
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @item != nil
      self.draw_walk_item_graphic(@item, 200,200)
    end
  end
  def set_item(item)
    @item = item
  end
end


作者: soulsaga    时间: 2017-8-8 20:33
因为图标尺寸有限制?
作者: 渣小废    时间: 2017-8-8 20:40
嗯尺寸问题。沉了自己已经解决。以后还是想久点再发帖




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1