Project1

标题: 怎么在菜单状态拦里把行走样子换成头像 [打印本页]

作者: jaypark    时间: 2008-6-6 04:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: hitlerson    时间: 2008-6-6 04:51
Window_Base里

  #--------------------------------------------------------------------------
  # ● 图形的描绘
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
    cw = bitmap.width
     ch = bitmap.height
    self.contents.blt(0,0, bitmap,Rect.new(0, 0, cw, ch))
  end


bitmap = 你想要的图
作者: 3535    时间: 2008-6-6 04:52
图片存放在Graphics/battlers文件夹···文件名是战斗图名字加上 _f.png

——cZooCz
  1. #==============================================================================
  2. # ■ Window_MenuStatus
  3. #------------------------------------------------------------------------------
  4. #  显示菜单画面和同伴状态的窗口。
  5. #==============================================================================

  6. class Window_MenuStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化目标
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 480, 480)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     refresh
  14.     self.active = false
  15.     self.index = -1
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 刷新
  19.   #--------------------------------------------------------------------------
  20.   def refresh
  21.     self.contents.clear
  22.     @item_max = $game_party.actors.size
  23.     for i in 0...$game_party.actors.size
  24.       x = 108
  25.       y = i * 116
  26.       actor = $game_party.actors[i]
  27.       testname = actor.battler_name+"_f.png"
  28.       if $加密 == true
  29.         bitmap=Bitmap.new("Graphics/battlers/#{testname}")
  30.         src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
  31.         self.contents.blt(0, y, bitmap, src_rect)
  32.         draw_actor_name(actor, x, y)
  33.         draw_actor_class(actor, x + 200, y)
  34.         draw_actor_level(actor, x, y + 32)
  35.         draw_actor_state(actor, x + 90, y + 32)
  36.         draw_actor_exp(actor, x, y + 64,180)
  37.         draw_actor_hp(actor, x + 200, y + 32)
  38.         draw_actor_sp(actor, x + 200, y + 64)
  39.       else         
  40.         if FileTest.exist?("Graphics/battlers/#{testname}")
  41.           bitmap=Bitmap.new("Graphics/battlers/#{testname}")
  42.           src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
  43.           self.contents.blt(0, y, bitmap, src_rect)
  44.         else
  45.           draw_actor_graphic(actor, x - 60, y + 80)
  46.         end
  47.         draw_actor_name(actor, x, y)
  48.         draw_actor_class(actor, x + 200, y)
  49.         draw_actor_level(actor, x, y + 32)
  50.         draw_actor_state(actor, x + 90, y + 32)
  51.         draw_actor_exp(actor, x, y + 64,180)
  52.         draw_actor_hp(actor, x + 200, y + 32)
  53.         draw_actor_sp(actor, x + 200, y + 64)
  54.       end
  55.     end
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 刷新光标矩形
  59.   #--------------------------------------------------------------------------
  60.   def update_cursor_rect
  61.     if @index < 0
  62.       self.cursor_rect.empty
  63.     else
  64.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  65.     end
  66.   end
  67. end
复制代码

作者: jaypark    时间: 2008-6-7 09:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangchun1217    时间: 2008-6-7 18:39
这个问题我也提出过,但答案都有些问题,现在终于解决
以下引用3535于2008-6-5 20:52:00的发言:

图片存放在Graphics/battlers文件夹···文件名是战斗图名字加上 _f.png如(李逍遥_f.png)

——cZooCz
#==============================================================================
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
#  显示菜单画面和同伴状态的窗口。
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化目标
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      x = 108
      y = i * 116
      actor = $game_party.actors
      testname = actor.battler_name+"_f.png"
      if $加密 == true
        bitmap=Bitmap.new("Graphics/battlers/#{testname}")
        src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
        self.contents.blt(0, y, bitmap, src_rect)
        draw_actor_name(actor, x, y)
        draw_actor_class(actor, x + 200, y)
        draw_actor_level(actor, x, y + 32)
        draw_actor_state(actor, x + 90, y + 32)
        draw_actor_exp(actor, x, y + 64,180)
        draw_actor_hp(actor, x + 200, y + 32)
        draw_actor_sp(actor, x + 200, y + 64)
      else         
        if FileTest.exist?("Graphics/battlers/#{testname}")
          bitmap=Bitmap.new("Graphics/battlers/#{testname}")
          src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
          self.contents.blt(0, y, bitmap, src_rect)
        else
          draw_actor_graphic(actor, x - 60, y + 80)
        end
        draw_actor_name(actor, x, y)
        draw_actor_class(actor, x + 200, y)
        draw_actor_level(actor, x, y + 32)
        draw_actor_state(actor, x + 90, y + 32)
        draw_actor_exp(actor, x, y + 64,180)
        draw_actor_hp(actor, x + 200, y + 32)
        draw_actor_sp(actor, x + 200, y + 64)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新光标矩形
  #--------------------------------------------------------------------------
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
    end
  end
end
把以上代码加进去,可能出错,在把52行删掉就可以了。





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