Project1

标题: 菜单显示头像能动态吗? [打印本页]

作者: 萌萌发    时间: 2011-1-18 14:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 赤夜玄魔    时间: 2011-1-21 21:49
回复 萌萌发 的帖子
  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 = 64
  25.       y = i * 116
  26.       actor = $game_party.actors[i]
  27.       #draw_actor_graphic(actor, x - 40, y + 80)
  28.       a = Graphics.frame_count / Graphics.frame_rate % 4
  29.       bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  30.       cw = bitmap.width / 4
  31.       ch = bitmap.height / 4
  32.       src_rect = Rect.new(32 *a, 0, cw, ch)
  33.       self.contents.blt(x - 40 - cw / 2, y + 80 - ch, bitmap, src_rect)
  34.       draw_actor_name(actor, x, y)
  35.       draw_actor_class(actor, x + 144, y)
  36.       draw_actor_level(actor, x, y + 32)
  37.       draw_actor_state(actor, x + 90, y + 32)
  38.       draw_actor_exp(actor, x, y + 64)
  39.       draw_actor_hp(actor, x + 236, y + 32)
  40.       draw_actor_sp(actor, x + 236, y + 64)
  41.     end
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 刷新光标矩形
  45.   #--------------------------------------------------------------------------
  46.   def update_cursor_rect
  47.     if @index < 0
  48.       self.cursor_rect.empty
  49.     else
  50.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  51.     end
  52.     refresh
  53.   end
  54. end
复制代码
用了一个不怎么聪明的方法……
作者: enghao_lim    时间: 2011-1-22 09:58
干脆用sprite好了,这样省得全部刷新,会没有fps的说。
作者: 赤夜玄魔    时间: 2011-1-22 21:07
刷新方法可以自己改的,你该不会是想只用GIF图吧??
作者: bzzdhm    时间: 2011-1-24 18:51
其实可以用动画播放功能的
具体代码不记得了 但是F1的Sprite里面记录着




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