设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 834|回复: 0
打印 上一主题 下一主题

[已经过期] 想请教如何让图片靠右

[复制链接]

Lv4.逐梦者

梦石
7
星屑
2585
在线时间
567 小时
注册时间
2009-4-30
帖子
271
跳转到指定楼层
1
发表于 2011-12-4 18:57:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 timmyyayaya 于 2011-12-4 20:09 编辑

不好意思,想请教一下以下这段该如何让图片靠右显示,

  1.   #--------------------------------------------------------------------------
  2.   # * Create HP Number
  3.   #--------------------------------------------------------------------------         
  4.   def create_hp_number
  5.       @hp_number_image = RPG::Cache.windowskin("Hud_HP_Number")
  6.       @hp_number_bitmap = Bitmap.new(@hp_number_image.width,@hp_number_image.height)
  7.       @hp_number_sprite = Sprite.new
  8.       @hp_number_sprite.bitmap = @hp_number_bitmap
  9.       @hp_number_sprite.z = 6000#2 + HUD_Z_PRIORITY  
  10.       @hp_number_sprite.x = HUD_POS[0] + HP_NUMBER_POS[0]
  11.       @hp_number_sprite.y = HUD_POS[1] + HP_NUMBER_POS[1]
  12.       @im_cw = @hp_number_image.width / 10
  13.       @im_ch = @hp_number_image.height / 2   
  14.       @hp_src_rect = Rect.new(@im_cw,0, @im_cw, @im_ch)
  15.       @hp_number_text = @actor.hp.abs.to_s.split(//)
  16.       lowhp2 = @actor.maxhp * 30 / 100
  17.       if @actor.hp < lowhp2
  18.          @health2 = @im_ch
  19.       else
  20.          @health2 = 0
  21.       end
  22.       @hp_health = @health2
  23.       for r in 0..@hp_number_text.size - 1         
  24.           @hp_number_abs = @hp_number_text[r].to_i
  25.           @hp_src_rect = Rect.new(@im_cw * @hp_number_abs, @hp_health, @im_cw, @im_ch)
  26.           @hp_number_bitmap.blt(20 + ((@im_cw - 7) *  r), 0, @hp_number_image, @hp_src_rect)        
  27.       end  
  28.       hp_number_refresh  
  29.   end
复制代码
它是用图片显示数字,
游戏中是默认往左靠,如下:
HP 1245
SP 105

我想请问该如何让它变成:
HP 1245
SP  105

感谢。
  1. #==============================================================================#
  2. # MOG - Active Hud 2.1                                                         #
  3. #==============================================================================#
  4. # By Moghunter                                                                 #
  5. # http://www.atelier-rgss.com                                                  #
  6. #==============================================================================#
  7. # Translated by Calvin624                                                      #
  8. # http://www.xasabs.wordpress.com                                              #
  9. #==============================================================================#
  10. ###############################-DESCRIPTION-####################################
  11. #==============================================================================#
  12. # HUD stands for Heads-Up Display. It is a method used in most games to        #
  13. # visually converse with the player.                                           #
  14. #==============================================================================#
  15. # Animated HUD System, featuring faces that change according to the action     #
  16. # of the hero.                                                                 #
  17. #==============================================================================#
  18. #                                                                              #
  19. # Graphics required:                                                           #
  20. #                                                                              #
  21. # Hud_Exp_Meter.png                                                            #
  22. # Hud_Exp_Number                                                               #
  23. # Hud_Face                                                                     #
  24. # Hud_HP_Meter                                                                 #
  25. # Hud_HP_Number                                                                #
  26. # Hud_Layout                                                                   #
  27. # Hud_SP_Meter                                                                 #
  28. # Hud_SP_Number                                                                #
  29. #                                                                              #
  30. # All images must be in the Windowskin folder.                                 #
  31. #                                                                              #
  32. #==============================================================================#
  33. # FACES ANIMATIONS INFO:                                                       #
  34. # It takes a picture with the name "Hud_Face.png" and splits it into 5.        #
  35. # Displayed in the following order:                                            #
  36. #   1 - Normal 2 - Happy 3 - Sad 4 - Action 5 - Tired.                         #
  37. #==============================================================================#
  38. module MOG_ACTIVE_HUD
  39. # Position of the HUD on the X and Y axis......................[HUD_POSITIONING]  
  40.   HUD_POS = [81,415]
  41. # Position of the HP meter on the X and Y axis.................[HUD_POSITIONING]
  42.   HP_METER_POS = [4,17]
  43. # Position of the HP number on the X and Y axis................[HUD_POSITIONING]
  44.   HP_NUMBER_POS = [50,14]
  45. # Position of the SP meter on the X and Y axis.................[HUD_POSITIONING]
  46.   SP_METER_POS = [4,32]
  47. # Position of the SP number on the X and Y axis................[HUD_POSITIONING]
  48.   SP_NUMBER_POS = [50,29]
  49. # Position of the EXP meter on the X and Y axis................[HUD_POSITIONING]
  50.   EXP_METER_POS = [65,16]
  51. # Position of the LV number on the X and Y axis................[HUD_POSITIONING]
  52.   EXP_NUMBER_POS = [65,-5]
  53. # Position of the Face Graphic on the X  and Y axis............[HUD_POSITIONING]
  54.   FACE_POS = [-70,-55]
  55. # Position of Conditions on the X and Y axis...................[HUD_POSITIONING]
  56.   STATES_POS = [145,40]
  57. # Position of the Gold indicator ..............................[HUD_POSITIONING]
  58.   GOLD_POS = [0,480]
  59. # Fade Effect.......................................................[TRUE/FALSE]
  60.   HUD_FADE = true  
  61. # Size of the Active HUD. This influences when the FADE mechanic is turned on.
  62.   HUD_SIZE = [180,110]
  63. # Enable position of states in relation to character?...............[TRUE/FALSE]
  64.   STATES_POS_CHARACTER = false
  65. # Display the states with the levitation effect?....................[TRUE/FALSE]
  66.   FLOAT_STATES = true
  67. # Percentage at which your HP is deemed low.............................[DAMAGE]
  68.   LOWHP = 30
  69. # Switch ID to disable the HUD..........................................[SWITCH]
  70.   DISABLE_HUD_SWITCH = 5
  71.   # Priority of Hud. (Z)  
  72.   HUD_Z_PRIORITY = 5000  
  73.   # Element of Tools that do not trigger the face animation in the HUD..................[HUD]
  74.   DISABLE_FACE_ACTION_ID = "P Face Off"
  75. end

  76. #==============================================================================
  77. # ** Game_Actor
  78. #==============================================================================
  79. class Game_Actor < Game_Battler
  80.   
  81. #--------------------------------------------------------------------------
  82. # * Now Exp
  83. #--------------------------------------------------------------------------
  84. def now_exp
  85.     return @exp - @exp_list[@level]
  86. end
  87.   
  88. #--------------------------------------------------------------------------
  89. # * Next Exp
  90. #--------------------------------------------------------------------------
  91. def next_exp
  92.     return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  93.     end
  94. end
  95.   
  96. #==============================================================================
  97. # ** Interpreter  
  98. #==============================================================================
  99. class Interpreter  
  100.   
  101. #--------------------------------------------------------------------------
  102. # ● Display Item Animaton
  103. #--------------------------------------------------------------------------
  104. alias active_hud_display_item_animaton display_item_animaton
  105. def display_item_animaton(damage_item,gold_effect,value,item_name)
  106.      if damage_item == nil            
  107.         $game_temp.hud_face_type = 1
  108.         $game_temp.hud_face_refresh = true
  109.         $game_temp.hud_face_time = 0
  110.         $game_temp.hud_face_time2 = 30
  111.      end   
  112.      active_hud_display_item_animaton(damage_item,gold_effect,value,item_name)
  113. end
  114.   
  115. end   
  116.   
  117. #==============================================================================
  118. # ** Game_Temp
  119. #==============================================================================
  120. class Game_Temp
  121.   attr_accessor :hud_face_type
  122.   attr_accessor :hud_face_type_old
  123.   attr_accessor :hud_face_time
  124.   attr_accessor :hud_face_time2
  125.   attr_accessor :hud_face_refresh
  126.   
  127. #--------------------------------------------------------------------------
  128. # * Initialize
  129. #--------------------------------------------------------------------------
  130.   alias active_hud_initialize initialize
  131.   def initialize
  132.     active_hud_initialize
  133.     @hud_face_type = 0
  134.     @hud_face_type_old = 0
  135.     @hud_face_time = 0
  136.     @hud_face_time2 = 0
  137.     @hud_face_refresh = false
  138.   end   
  139. end

  140. if $xrxs_xas != nil  
  141. #===============================================================================
  142. # ■ XAS_ACTION
  143. #===============================================================================
  144. module XAS_ACTION
  145. #--------------------------------------------------------------------------
  146. # ● Shoot Effect
  147. #--------------------------------------------------------------------------
  148. alias active_hud_shoot_effect shoot_effect
  149. def shoot_effect(action_id,skill)
  150.     active_hud_shoot_effect(action_id,skill)
  151.     if self.battler.is_a?(Game_Actor) and not
  152.        $data_skills[action_id].element_set.include?($data_system.elements.index(MOG_ACTIVE_HUD::DISABLE_FACE_ACTION_ID))
  153.        $game_temp.hud_face_type = 3
  154.     end   
  155. end  
  156. end  

  157. #===============================================================================
  158. # ■ XRXS_CharacterDamagePop
  159. #===============================================================================
  160. module XRXS_CharacterDamagePop
  161.   
  162. #--------------------------------------------------------------------------
  163. # ● Display Damage Pop
  164. #--------------------------------------------------------------------------  
  165. alias xas_active_hud_display_damage_pop display_damage_pop
  166. def display_damage_pop
  167.      if @battler.is_a?(Game_Actor) and @battler.damage.is_a?(Numeric)
  168.         if @battler.damage > 0
  169.            $game_temp.hud_face_type = 2
  170.         elsif @battler.damage < 0
  171.            $game_temp.hud_face_type = 1
  172.         end  
  173.      end
  174.     xas_active_hud_display_damage_pop
  175.   end
  176. end   
  177. end

  178. #==============================================================================
  179. # ** Active_Hud
  180. #==============================================================================
  181. class Active_Hud
  182.   include MOG_ACTIVE_HUD
  183.   #--------------------------------------------------------------------------
  184.   # * Initialize
  185.   #--------------------------------------------------------------------------
  186.   def initialize
  187.       @actor = $game_party.actors[0]
  188.       @step = 0
  189.       return if @actor == nil
  190.       setup   
  191.       create_layout
  192.       create_face
  193.       create_state   
  194.       create_hp_number
  195.       create_hp_meter
  196.       create_sp_number
  197.       create_sp_meter
  198.       create_level_number
  199.       create_level_meter
  200.       create_gold
  201.       update_visible
  202.   end
  203.   
  204.   #--------------------------------------------------------------------------
  205.   # * Setup
  206.   #--------------------------------------------------------------------------        
  207.   def setup
  208.       @low_sp = LOWHP
  209.       @low_hp = LOWHP
  210.       @hp = @actor.hp
  211.       @sp = @actor.sp
  212.       @exp = @actor.exp
  213.       @level = @actor.level
  214.       @hp_old = @actor.hp
  215.       @hp_ref = @hp_old
  216.       @hp_refresh = false
  217.       @sp_old = @actor.sp
  218.       @sp_ref = @sp_old
  219.       @sp_refresh = false
  220.       hud_size_x = HUD_SIZE[0]
  221.       hud_size_y = HUD_SIZE[1]
  222.       @oc_range_x = hud_size_x + HUD_POS[0]
  223.       @oc_range_y = hud_size_y + HUD_POS[1]     
  224.   end  
  225.   
  226.   #--------------------------------------------------------------------------
  227.   # * Create Layout
  228.   #--------------------------------------------------------------------------      
  229.   def create_layout
  230.       @layout_sprite = Sprite.new
  231.       @layout_sprite.bitmap = RPG::Cache.windowskin("Hud_Layout")
  232.       @layout_sprite.z = HUD_Z_PRIORITY
  233.       @layout_sprite.x = HUD_POS[0]
  234.       @layout_sprite.y = HUD_POS[1]
  235.   end   
  236.    
  237.   #--------------------------------------------------------------------------
  238.   # * Face Exist?
  239.   #--------------------------------------------------------------------------        
  240.   def face_exist?(filename)
  241.     return RPG::Cache.windowskin(filename) rescue return false
  242.   end  
  243.   
  244.   #--------------------------------------------------------------------------
  245.   # * Icon Exist?
  246.   #--------------------------------------------------------------------------        
  247.   def icon_exist?(filename)
  248.     return RPG::Cache.icon(filename) rescue return false
  249.   end   
  250.   
  251.   #--------------------------------------------------------------------------
  252.   # * Create Face
  253.   #--------------------------------------------------------------------------      
  254.   def create_face
  255.       actor = $game_party.actors[0]      
  256.       file_name = actor.name + "_HFace"
  257.       if face_exist?(file_name)
  258.          @face_image = RPG::Cache.windowskin(file_name)
  259.       else
  260.          @face_image = RPG::Cache.windowskin("")
  261.       end   
  262.       @face_bitmap = Bitmap.new(@face_image.width,@face_image.height)
  263.       @face_sprite = Sprite.new
  264.       @face_sprite.bitmap = @face_bitmap
  265.       @face_cw = @face_bitmap.width / 5
  266.       @face_ch = @face_bitmap.height
  267.       @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
  268.       @face_bitmap.blt(0,0, @face_image, @face_src_rect_back)      
  269.       @face_sprite.z = -1 + HUD_Z_PRIORITY
  270.       @face_sprite.x = HUD_POS[0] + FACE_POS[0]
  271.       @face_sprite.y = HUD_POS[1] + FACE_POS[1]        
  272.       if @actor.hp < @actor.maxhp * @low_hp / 100
  273.          $game_temp.hud_face_type = 4              
  274.       else
  275.          $game_temp.hud_face_type = 0
  276.       end            
  277.       $game_temp.hud_face_time = 10        
  278.   end
  279.    
  280.   #--------------------------------------------------------------------------
  281.   # * Create State
  282.   #--------------------------------------------------------------------------        
  283.   def create_state
  284.       @states_max = 0
  285.       @states = Sprite.new
  286.       @states.bitmap = Bitmap.new(104,24)
  287.       @states_x = @actor.states.size
  288.       @states_y = 0
  289.       @states_f = false
  290.       sta = []
  291.       for i in @actor.states
  292.          unless @states_max > 3
  293.             sta.push($data_states[i].name)
  294.             if icon_exist?(sta[@states_max])
  295.                image = RPG::Cache.icon(sta[@states_max])
  296.             else
  297.                image = RPG::Cache.icon("")
  298.             end  
  299.             cw = image.width
  300.             ch = image.height
  301.             @states.bitmap.blt(26 * @states_max, 0, image, Rect.new(0, 0, cw, ch))
  302.             @states_max += 1
  303.             image.dispose
  304.          end
  305.       end  
  306.       if STATES_POS_CHARACTER == true  
  307.          @states.x = 5 -(13 * @states_x) + $game_player.screen_x
  308.          @states.y = @states_y + $game_player.screen_y
  309.       else
  310.          @states.x = HUD_POS[0] + STATES_POS[0]
  311.          @states.y = @states_y + HUD_POS[1] + STATES_POS[1]
  312.       end
  313.       @states.z = 1 + HUD_Z_PRIORITY  
  314.   end
  315.   
  316.   #--------------------------------------------------------------------------
  317.   # * Create HP Number
  318.   #--------------------------------------------------------------------------         
  319.   def create_hp_number
  320.       @hp_number_image = RPG::Cache.windowskin("Hud_HP_Number")
  321.       @hp_number_bitmap = Bitmap.new(@hp_number_image.width,@hp_number_image.height)
  322.       @hp_number_sprite = Sprite.new
  323.       @hp_number_sprite.bitmap = @hp_number_bitmap
  324.       @hp_number_sprite.z = 6000#2 + HUD_Z_PRIORITY  
  325.       @hp_number_sprite.x = HUD_POS[0] + HP_NUMBER_POS[0]
  326.       @hp_number_sprite.y = HUD_POS[1] + HP_NUMBER_POS[1]
  327.       @im_cw = @hp_number_image.width / 10
  328.       @im_ch = @hp_number_image.height / 2   
  329.       @hp_src_rect = Rect.new(@im_cw,0, @im_cw, @im_ch)
  330.       @hp_number_text = @actor.hp.abs.to_s.split(//)
  331.       lowhp2 = @actor.maxhp * 30 / 100
  332.       if @actor.hp < lowhp2
  333.          @health2 = @im_ch
  334.       else
  335.          @health2 = 0
  336.       end
  337.       @hp_health = @health2
  338.       for r in 0..@hp_number_text.size - 1         
  339.           @hp_number_abs = @hp_number_text[r].to_i
  340.           @hp_src_rect = Rect.new(@im_cw * @hp_number_abs, @hp_health, @im_cw, @im_ch)
  341.           @hp_number_bitmap.blt(20 + ((@im_cw - 7) *  r), 0, @hp_number_image, @hp_src_rect)        
  342.       end  
  343.       hp_number_refresh  
  344.   end

  345.   #--------------------------------------------------------------------------
  346.   # * Create HP Meter
  347.   #--------------------------------------------------------------------------            
  348.   def create_hp_meter
  349.       @hp_flow = 0
  350.       @hp_damage_flow = 0
  351.       @hp_image = RPG::Cache.windowskin("Hud_HP")
  352.       @hp_bitmap = Bitmap.new(@hp_image.width,@hp_image.height)
  353.       @hp_range = @hp_image.width / 4
  354.       @hp_width = @hp_range  * @actor.hp / @actor.maxhp  
  355.       @hp_height = @hp_image.height #/ 2
  356.       @hp_width_old = @hp_width
  357.       @hp_src_rect = Rect.new(@hp_range, 0, @hp_width, @hp_height)
  358.       @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
  359.       @hp_sprite = Sprite.new
  360.       @hp_sprite.bitmap = @hp_bitmap
  361.       @hp_sprite.z = 1 + HUD_Z_PRIORITY
  362.       @hp_sprite.x = HUD_POS[0] + HP_METER_POS[0]
  363.       @hp_sprite.y = HUD_POS[1] + HP_METER_POS[1]
  364.       hp_flow_update  
  365.   end
  366.   
  367.   #--------------------------------------------------------------------------
  368.   # * Create SP Number
  369.   #--------------------------------------------------------------------------              
  370.   def create_sp_number
  371.       @sp_number_image = RPG::Cache.windowskin("Hud_EN_Number")
  372.       @sp_number_bitmap = Bitmap.new(@sp_number_image.width,@sp_number_image.height)
  373.       @sp_number_sprite = Sprite.new
  374.       @sp_number_sprite.bitmap = @sp_number_bitmap
  375.       @sp_number_sprite.z = 6000#2 + HUD_Z_PRIORITY
  376.       @sp_number_sprite.x = HUD_POS[0] + SP_NUMBER_POS[0]
  377.       @sp_number_sprite.y = HUD_POS[1] + SP_NUMBER_POS[1]
  378.       @sp_im_cw = @sp_number_image.width / 10
  379.       @sp_im_ch = @sp_number_image.height / 2   
  380.       @sp_src_rect = Rect.new(@sp_im_cw,0, @sp_im_cw, @sp_im_ch)
  381.       @sp_number_text = @actor.sp.abs.to_s.split(//)
  382.       for r in 0..@sp_number_text.size - 1
  383.          @sp_number_abs = @sp_number_text[r].to_i
  384.          @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, 0, @sp_im_cw, @sp_im_ch)
  385.          @sp_number_bitmap.blt(20 + ((@sp_im_cw - 7) *  r), 0, @sp_number_image, @sp_src_rect)        
  386.       end         
  387.       sp_number_refresh
  388.   end
  389.    
  390.   #--------------------------------------------------------------------------
  391.   # * Create SP Meter
  392.   #--------------------------------------------------------------------------               
  393.   def create_sp_meter
  394.       @sp_flow = 0
  395.       @sp_damage_flow = 0
  396.       @sp_image = RPG::Cache.windowskin("Hud_EN")
  397.       @sp_bitmap = Bitmap.new(@sp_image.width,@sp_image.height)
  398.       @sp_range = @sp_image.width / 4
  399.       @sp_width = @sp_range  * @actor.sp / @actor.maxsp  
  400.       @sp_height = @sp_image.height #/ 2
  401.       @sp_width_old = @sp_width
  402.       @sp_src_rect = Rect.new(@sp_range, 0, @sp_width, @sp_height)
  403.       @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)
  404.       @sp_sprite = Sprite.new
  405.       @sp_sprite.bitmap = @sp_bitmap
  406.       @sp_sprite.z = 1 + HUD_Z_PRIORITY
  407.       @sp_sprite.x = HUD_POS[0] + SP_METER_POS[0]
  408.       @sp_sprite.y = HUD_POS[1] + SP_METER_POS[1]
  409.       sp_flow_update      
  410.   end
  411.   
  412.   #--------------------------------------------------------------------------
  413.   # * Create Level Number
  414.   #--------------------------------------------------------------------------                    
  415.   def create_level_number
  416.       @level_number_image = RPG::Cache.windowskin("Hud_Exp_Number")
  417.       @level_number_bitmap = Bitmap.new(@level_number_image.width,@level_number_image.height)
  418.       @level_number_sprite = Sprite.new
  419.       @level_number_sprite.bitmap = @level_number_bitmap
  420.       @level_number_sprite.z = 2 + HUD_Z_PRIORITY
  421.       @level_number_sprite.x = HUD_POS[0] + EXP_NUMBER_POS[0]
  422.       @level_number_sprite.y = HUD_POS[1] + EXP_NUMBER_POS[1]
  423.       @level_im_cw = @level_number_image.width / 10
  424.       @level_im_ch = @level_number_image.height     
  425.       @level_number_text = @actor.level.abs.to_s.split(//)
  426.       for r in 0..@level_number_text.size - 1
  427.            @level_number_abs = @level_number_text[r].to_i
  428.            @level_src_rect = Rect.new(@level_im_cw * @level_number_abs, 0, @level_im_cw, @level_im_ch)
  429.            @level_number_bitmap.blt(13 + ((@level_im_cw - 12) *  r), 0, @level_number_image, @level_src_rect)        
  430.       end   
  431.   end
  432.   
  433.   #--------------------------------------------------------------------------
  434.   # * Create Level Meter
  435.   #--------------------------------------------------------------------------                  
  436.   def create_level_meter
  437.       @level_image = RPG::Cache.windowskin("Hud_Exp_Meter")
  438.       @level_bitmap = Bitmap.new(@level_image.width,@level_image.height)
  439.       @level_sprite = Sprite.new   
  440.       rate = @actor.now_exp.to_f / @actor.next_exp
  441.       rate = 1 if @actor.next_exp == 0
  442.       @level_cw = @level_image.width * rate
  443.       @level_cw = @level_image.width if @actor.level == 99
  444.       @level_src_rect_back = Rect.new(0, 0,@level_cw, @level_image.height)
  445.       @level_bitmap.blt(0,0, @level_image, @level_src_rect_back)
  446.       @level_sprite.bitmap = @level_bitmap
  447.       @level_sprite.z = 1 + HUD_Z_PRIORITY
  448.       @level_sprite.x = HUD_POS[0] + EXP_METER_POS[0]
  449.       @level_sprite.y = HUD_POS[1] + EXP_METER_POS[1]      
  450.   end
  451.   
  452.   #--------------------------------------------------------------------------
  453.   # * Create Gold 金錢UI
  454.   #--------------------------------------------------------------------------                  
  455.   def create_gold
  456.       @gold = $game_party.gold
  457.       @gold_old = @gold
  458.       @gold_ref = @gold_old
  459.       @gold_refresh = false         
  460.       # Layout -------------------------------------------------------------------
  461.       @gold_layout_image = RPG::Cache.windowskin("")#XAS_Gold_Layout")
  462.       @gold_layout_bitmap = Bitmap.new(@gold_layout_image.width,@gold_layout_image.height)
  463.       @gold_layout_sprite = Sprite.new
  464.       @gold_layout_sprite.bitmap = @gold_layout_bitmap
  465.       @gold_layout_src_rect_back = Rect.new(0, 0,@gold_layout_image.width, @gold_layout_image.height)
  466.       @gold_layout_bitmap.blt(0,0, @gold_layout_image, @gold_layout_src_rect_back)      
  467.       @gold_layout_sprite.z = 5001
  468.       @gold_layout_sprite.x = HUD_POS[0] + GOLD_POS[0]
  469.       @gold_layout_sprite.y = HUD_POS[1] + GOLD_POS[1]
  470.       # Gold ---------------------------------------------------------------------
  471.       @gold_number_image = RPG::Cache.windowskin("")#XAS_Gold_Number")
  472.       @gold_number_bitmap = Bitmap.new(@gold_number_image.width,@gold_number_image.height)
  473.       @gold_number_sprite = Sprite.new
  474.       @gold_number_sprite.bitmap = @gold_number_bitmap
  475.       @gold_number_sprite.z = 5002
  476.       @gold_number_sprite.x = 15 + HUD_POS[0] + GOLD_POS[0]
  477.       @gold_number_sprite.y = - 5 + HUD_POS[1] + GOLD_POS[1]
  478.       @gold_im_cw = @gold_number_image.width / 10
  479.       @gold_im_ch = @gold_number_image.height     
  480.       @gold_number_text = @gold.abs.to_s.split(//)
  481.       for r in 0..@gold_number_text.size - 1
  482.          @gold_number_abs = @gold_number_text[r].to_i
  483.          @gold_src_rect = Rect.new(@gold_im_cw * @gold_number_abs, 0, @gold_im_cw, @gold_im_ch)
  484.          @gold_number_bitmap.blt(0 + ((@gold_im_cw - 10) *  r), 2, @gold_number_image, @gold_src_rect)        
  485.       end            
  486.   end
  487.   
  488.   #--------------------------------------------------------------------------
  489.   # * Dispose
  490.   #--------------------------------------------------------------------------
  491.   def dispose
  492.     return if @actor == nil
  493.     #Hp Number Dispose
  494.     @hp_number_sprite.bitmap.dispose
  495.     @hp_number_sprite.dispose
  496.     @hp_number_bitmap.dispose
  497.     #HP Meter Dispose
  498.     @hp_sprite.bitmap.dispose
  499.     @hp_sprite.dispose
  500.     @hp_bitmap.dispose
  501.     #SP Number Dispose
  502.     @sp_number_sprite.bitmap.dispose
  503.     @sp_number_sprite.dispose
  504.     @sp_number_bitmap.dispose
  505.     #SP Meter Dispose
  506.     @sp_sprite.bitmap.dispose
  507.     @sp_sprite.dispose
  508.     @sp_bitmap.dispose
  509.     #States Dispose
  510.     @states.bitmap.dispose
  511.     @states.dispose
  512.     #Level Meter Dispose
  513.     @level_sprite.bitmap.dispose
  514.     @level_sprite.dispose
  515.     @level_bitmap.dispose
  516.     #Level Number Dispose
  517.     @level_number_sprite.bitmap.dispose
  518.     @level_number_sprite.dispose
  519.     @level_number_bitmap.dispose
  520.     #Layout Dispose
  521.     @layout_sprite.bitmap.dispose
  522.     @layout_sprite.dispose
  523.     #Face Dispose
  524.     @face_sprite.bitmap.dispose
  525.     @face_sprite.dispose
  526.     @face_bitmap.dispose
  527.     #gold Number Dispose
  528.     @gold_number_sprite.bitmap.dispose
  529.     @gold_number_sprite.bitmap = nil
  530.     @gold_number_sprite.dispose
  531.     @gold_number_sprite = nil   
  532.     @gold_number_bitmap.dispose
  533.     @gold_number_bitmap = nil   
  534.     #Layout Dispose
  535.     @gold_layout_sprite.bitmap.dispose
  536.     @gold_layout_sprite.bitmap = nil
  537.     @gold_layout_sprite.dispose
  538.     @gold_layout_sprite = nil   
  539.     @gold_layout_bitmap.dispose
  540.     @gold_layout_bitmap = nil  
  541.     #Dispose Images
  542.     @hp_number_image.dispose
  543.     @face_image.dispose
  544.     @hp_image.dispose
  545.     @sp_number_image.dispose
  546.     @sp_image.dispose
  547.     @level_number_image.dispose
  548.     @level_image.dispose
  549.     @gold_layout_image.dispose
  550.     @gold_number_image.dispose      
  551.   end

  552.   #--------------------------------------------------------------------------
  553.   # * Update Visible
  554.   #--------------------------------------------------------------------------
  555.   def update_visible
  556.       if $game_switches[DISABLE_HUD_SWITCH] == true
  557.          hud_visible = false
  558.       else
  559.          hud_visible = true
  560.       end  
  561.       @hp_number_sprite.visible = hud_visible
  562.       @hp_sprite.visible = hud_visible
  563.       @sp_number_sprite.visible = hud_visible
  564.       @sp_sprite.visible = hud_visible
  565.       @states.visible = hud_visible
  566.       @level_sprite.visible = hud_visible
  567.       @level_number_sprite.visible = hud_visible
  568.       @layout_sprite.visible = hud_visible
  569.       @face_sprite.visible = hud_visible      
  570.       @gold_number_sprite.visible = hud_visible
  571.       @gold_layout_sprite.visible = hud_visible
  572.   end
  573.   
  574.   #--------------------------------------------------------------------------
  575.   # * Updade
  576.   #--------------------------------------------------------------------------
  577.   def update
  578.      return if @actor == nil
  579.      update_visible
  580.      hp_number_update if @hp_old != @actor.hp
  581.      hp_number_refresh if @hp_refresh == true or @actor.hp == 0
  582.      sp_number_update if @sp_old != @actor.sp
  583.      sp_number_refresh if @sp_refresh == true
  584.      level_update if @level != @actor.level
  585.      level_up_effect if @level_number_sprite.zoom_x > 1.00  
  586.      exp_update if @exp != @actor.exp
  587.      states_effect if @states.zoom_x > 1.00  
  588.      face_refresh if can_refresh_face?
  589.      face_normal if $game_temp.hud_face_time2 == 1
  590.      face_effect
  591.      states_update
  592.      hp_flow_update
  593.      sp_flow_update
  594.      gold_number_down if @gold > $game_party.gold
  595.      gold_number_up if @gold < $game_party.gold     
  596.      gold_number_update if @gold_refresh == true         
  597.      fade_update if HUD_FADE == true
  598.    end
  599.    
  600.   #--------------------------------------------------------------------------
  601.   # fade_update
  602.   #--------------------------------------------------------------------------
  603.   def fade_update
  604.       x = ($game_player.real_x - $game_map.display_x) / 4
  605.       y = ($game_player.real_y - $game_map.display_y) / 4
  606.       if x < @oc_range_x and x > HUD_POS[0] - 5 and
  607.          y > HUD_POS[1] and y < @oc_range_y and @hp_number_sprite.opacity > 120
  608.            @hp_number_sprite.opacity -= 10
  609.            @hp_sprite.opacity -= 10
  610.            @sp_number_sprite.opacity -= 10
  611.            @sp_sprite.opacity -= 10
  612.            @states.opacity -= 10
  613.            @level_sprite.opacity -= 10
  614.            @level_number_sprite.opacity -= 10
  615.            @layout_sprite.opacity -= 10
  616.            @face_sprite.opacity -= 10     
  617.       elsif @hp_number_sprite.opacity < 255
  618.            @hp_number_sprite.opacity += 10
  619.            @hp_sprite.opacity += 10
  620.            @sp_number_sprite.opacity += 10
  621.            @sp_sprite.opacity += 10
  622.            @states.opacity += 10
  623.            @level_sprite.opacity += 10
  624.            @level_number_sprite.opacity += 10
  625.            @layout_sprite.opacity += 10
  626.            @face_sprite.opacity += 10           
  627.       end
  628.   end
  629.    
  630.   #--------------------------------------------------------------------------
  631.   # * face_normal
  632.   #--------------------------------------------------------------------------
  633.   def face_normal
  634.     $game_temp.hud_face_refresh = false
  635.     if @actor.hp < @actor.maxhp * @low_hp / 100
  636.        $game_temp.hud_face_type = 4
  637.     else  
  638.        $game_temp.hud_face_type = 0
  639.     end
  640.     $game_temp.hud_face_type_old = $game_temp.hud_face_type  
  641.     $game_temp.hud_face_time2 = 0
  642.     @face_sprite.bitmap.clear
  643.     @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
  644.     @face_bitmap.blt(0,0, @face_image, @face_src_rect_back)   
  645.     @face_sprite.x = HUD_POS[0] + FACE_POS[0]
  646.   end  
  647.   
  648.   #--------------------------------------------------------------------------
  649.   # * can_refresh_face?
  650.   #--------------------------------------------------------------------------  
  651.   def can_refresh_face?
  652.       if $game_temp.hud_face_time > 0
  653.          $game_temp.hud_face_time -= 1
  654.          $game_temp.hud_face_time2 = 30 if $game_temp.hud_face_time == 0
  655.       else   
  656.          $game_temp.hud_face_time2 -= 1 if $game_temp.hud_face_time2 > 0
  657.       end   
  658.       return false if $game_temp.hud_face_type_old == $game_temp.hud_face_type and
  659.                       $game_temp.hud_face_time > 1
  660.       return true if $game_temp.hud_face_type_old != $game_temp.hud_face_type
  661.   end
  662.   
  663.   #--------------------------------------------------------------------------
  664.   # * Face Refresh
  665.   #--------------------------------------------------------------------------
  666.    def face_refresh     
  667.        $game_temp.hud_face_type_old = $game_temp.hud_face_type
  668.        $game_temp.hud_face_time = 30
  669.        $game_temp.hud_face_time2 = 0     
  670.        @face_sprite.bitmap.clear
  671.        @face_src_rect_back = Rect.new(@face_cw * $game_temp.hud_face_type, 0,@face_cw , @face_ch)
  672.        @face_bitmap.blt(0,0, @face_image, @face_src_rect_back)
  673.        @face_sprite.x = HUD_POS[0] + FACE_POS[0]
  674.    end
  675.   
  676.   #--------------------------------------------------------------------------
  677.   # * Face Effect
  678.   #--------------------------------------------------------------------------
  679.   def face_effect
  680.     if $game_temp.hud_face_type == 2
  681.        @face_sprite.x = HUD_POS[0] + FACE_POS[0] + rand(10)
  682.        if $game_temp.hud_face_time == 2
  683.          if @actor.hp < @actor.maxhp * @low_hp / 100
  684.             $game_temp.hud_face_type = 4
  685.          else            
  686.             $game_temp.hud_face_type = 0
  687.          end
  688.        end
  689.     end
  690.   end  
  691.   
  692.   #--------------------------------------------------------------------------
  693.   # * States_Update
  694.   #--------------------------------------------------------------------------
  695.   def states_update
  696.     if STATES_POS_CHARACTER == true  
  697.        @states.x = 5 -(13 * @states_x) + $game_player.screen_x
  698.        @states.y = @states_y + $game_player.screen_y
  699.     else
  700.        @states.x = HUD_POS[0] + STATES_POS[0]
  701.        @states.y = @states_y + HUD_POS[1] + STATES_POS[1]
  702.     end
  703.     if FLOAT_STATES == true
  704.        if @states_f == false
  705.           @states_y += 1
  706.           @states_f = true if @states_y > 10
  707.        else   
  708.           @states_y -= 1
  709.           @states_f = false if @states_y < -10               
  710.         end  
  711.      end
  712.      @states.opacity = 155 + rand(100)
  713.      if @states_x != @actor.states.size
  714.         @states_x = @actor.states.size
  715.         @states.bitmap.clear
  716.         @states_max = 0
  717.         sta = []
  718.         for i in @actor.states
  719.            unless @states_max > 3
  720.              sta.push($data_states[i].name)
  721.              if icon_exist?(sta[@states_max])
  722.                 image = RPG::Cache.icon(sta[@states_max])
  723.              else
  724.                 image = RPG::Cache.icon("")
  725.              end
  726.              cw = image.width
  727.              ch = image.height
  728.              @states.bitmap.blt(26 * @states_max, 0, image, Rect.new(0, 0, cw, ch))
  729.              @states_max += 1
  730.            end
  731.          end  
  732.        sta = nil
  733.        if image != nil
  734.           image.dispose
  735.        end
  736.        @states.zoom_x = 2
  737.        @states.zoom_y = 2
  738.      end
  739.    end
  740.   
  741.   #--------------------------------------------------------------------------
  742.   # * States_Effect
  743.   #--------------------------------------------------------------------------
  744.    def states_effect
  745.        @states.zoom_x -= 0.02
  746.        @states.zoom_y -= 0.02
  747.     if @states.zoom_x <= 1.00     
  748.        @states.zoom_x = 1.00
  749.        @states.zoom_y = 1.00
  750.     end  
  751.    end
  752.   
  753.   #--------------------------------------------------------------------------
  754.   # * hp_number_update
  755.   #--------------------------------------------------------------------------
  756.   def hp_number_update
  757.        @hp_refresh = true
  758.        if @hp_old < @actor.hp
  759.            @hp_ref = 5 * (@actor.hp - @hp_old) / 100
  760.            @hp_ref = 1 if @hp_ref < 1
  761.            @hp += @hp_ref     
  762.            if $game_temp.hud_face_type != 1
  763.               $game_temp.hud_face_type = 1
  764.               $game_temp.hud_face_refresh = true
  765.               @face_sprite.x = HUD_POS[0] + FACE_POS[0]
  766.            end           
  767.            if @hp >= @actor.hp
  768.               @hp_old = @actor.hp
  769.               @hp = @actor.hp   
  770.               @hp_ref = 0
  771.              if @actor.hp < @actor.maxhp * @low_hp / 100 and
  772.                 $game_temp.hud_face_type != 4
  773.                 $game_temp.hud_face_type = 4
  774.              elsif $game_temp.hud_face_type != 0
  775.                 $game_temp.hud_face_type = 0
  776.              end   
  777.            end  
  778.             
  779.         elsif @hp_old > @actor.hp   
  780.            @hp_refresh = true
  781.            @hp_ref = 5 * (@hp_old - @actor.hp) / 100
  782.            @hp_ref = 1 if @hp_ref < 1
  783.            @hp -= @hp_ref               
  784.            if $game_temp.hud_face_type != 2
  785.               $game_temp.hud_face_type = 2
  786.               $game_temp.hud_face_refresh = true              
  787.            end
  788.            if @hp <= @actor.hp
  789.               @hp_old = @actor.hp
  790.               @hp = @actor.hp   
  791.               @hp_ref = 0
  792.             if $game_temp.hud_face_type != 0
  793.                 $game_temp.hud_face_time = 30
  794.              end   
  795.            end            
  796.         end  
  797.    end  

  798.   #--------------------------------------------------------------------------
  799.   # * hp_number_refresh
  800.   #--------------------------------------------------------------------------
  801.   def hp_number_refresh
  802.       @hp_number_sprite.bitmap.clear
  803.       @hp = 0 if @actor.hp == 0
  804.       @hp_number_text = @hp.abs.to_s.split(//)
  805.       lowhp2 = @actor.maxhp * @low_hp / 100
  806.       if @actor.hp < lowhp2
  807.          @health2 = @im_ch
  808.       else
  809.          @health2 = 0
  810.       end
  811.       @hp_health = @health2
  812.       for r in 0..@hp_number_text.size - 1         
  813.            @hp_number_abs = @hp_number_text[r].to_i
  814.            @hp_src_rect = Rect.new(@im_cw * @hp_number_abs, @hp_health, @im_cw, @im_ch)
  815.            @hp_number_bitmap.blt(20 + ((@im_cw - 7) *  r), 0, @hp_number_image, @hp_src_rect)        
  816.        end  
  817.        @hp_refresh = false if @hp == @actor.hp
  818.   end
  819.   
  820.   #--------------------------------------------------------------------------
  821.   # * Hp Flow Update
  822.   #--------------------------------------------------------------------------
  823.   def hp_flow_update
  824.       @hp_sprite.bitmap.clear
  825.       @hp_width = @hp_range  * @actor.hp / @actor.maxhp

  826.           #HP Damage---------------------------------
  827.           valor = (@hp_width_old - @hp_width) * 3 / 100
  828.           valor = 0.5 if valor < 1         
  829.           if @hp_width_old != @hp_width
  830.           @hp_width_old -= valor if @hp_width_old > @hp_width  
  831.           if @hp_width_old < @hp_width
  832.              @hp_width_old = @hp_width
  833.           end      
  834.           @hp_src_rect_old = Rect.new(@hp_flow, @hp_height,@hp_width_old, @hp_height)
  835.           @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect_old)      
  836.           end
  837.         
  838.       #HP Real------------------------------------
  839.       #@hp_src_rect = Rect.new(@hp_flow, 0,@hp_width, @hp_height)
  840.       @hp_src_rect = Rect.new(@step * 100 , 0,@hp_width, @hp_height)
  841.       @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
  842.       @step += 1 if Graphics.frame_count % 10 == 0 #%數後數值越小,速度越快
  843.       @step = 0 if @step > 3
  844. #      @hp_flow += 5  
  845. #      if @hp_flow >= @hp_image.width - @hp_range
  846. #         @hp_flow = 0  
  847. #      end
  848.   end     
  849.   
  850.   #--------------------------------------------------------------------------
  851.   # * Sp_number_update
  852.   #--------------------------------------------------------------------------
  853.   def sp_number_update
  854.     @sp_refresh = true
  855.     if @sp_old < @actor.sp
  856.        @sp_refresh = true
  857.        @sp_ref = 5 * (@actor.sp - @sp_old) / 100
  858.        @sp_ref = 1 if @sp_ref < 1
  859.        @sp += @sp_ref  
  860.            if $game_temp.hud_face_type != 1
  861.               $game_temp.hud_face_type = 1
  862.               $game_temp.hud_face_refresh = true
  863.               @face_sprite.x = HUD_POS[0] + FACE_POS[0]
  864.            end           
  865.        if @sp >= @actor.sp
  866.           @sp_old = @actor.sp
  867.           @sp = @actor.sp   
  868.           @sp_ref = 0
  869.              if @actor.hp < @actor.maxhp * @low_hp / 100 and
  870.                 $game_temp.hud_face_type != 4
  871.                 $game_temp.hud_face_type = 4
  872.              elsif $game_temp.hud_face_type != 0
  873.                 $game_temp.hud_face_type = 0
  874.              end           
  875.        end  
  876.     elsif @sp_old >= @actor.sp   
  877.        @sp_ref = 5 * (@sp_old - @actor.sp) / 100
  878.        @sp_ref = 1 if @sp_ref < 1
  879.        @sp -= @sp_ref     
  880.            if $game_temp.hud_face_type != 3
  881.               $game_temp.hud_face_type = 3 unless $game_player.action != nil
  882.            end      
  883.        if @sp <= @actor.sp
  884.           @sp_old = @actor.sp
  885.           @sp = @actor.sp   
  886.           @sp_ref = 0
  887.              if @actor.hp < @actor.maxhp * @low_hp / 100 and
  888.                 $game_temp.hud_face_type != 4
  889.              #   $game_temp.hud_face_type = 4
  890.              elsif $game_temp.hud_face_type != 0
  891.                 $game_temp.hud_face_type = 0
  892.              end              
  893.         end         
  894.     end     
  895.   end  
  896.   
  897.   #--------------------------------------------------------------------------
  898.   # * sp_number_refresh
  899.   #--------------------------------------------------------------------------
  900.   def sp_number_refresh
  901.     @sp_number_sprite.bitmap.clear
  902.     @s = @actor.sp * 100 / @actor.maxsp
  903.     @sp_number_text = @sp.abs.to_s.split(//)
  904.       for r in 0..@sp_number_text.size - 1         
  905.          @sp_number_abs = @sp_number_text[r].to_i
  906.          if @actor.sp <= @actor.maxsp * @low_sp / 100
  907.             @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, @sp_im_ch, @sp_im_cw, @sp_im_ch)  
  908.          else  
  909.             @sp_src_rect = Rect.new(@sp_im_cw * @sp_number_abs, 0, @sp_im_cw, @sp_im_ch)
  910.          end
  911.        @sp_number_bitmap.blt(20 + ((@sp_im_cw - 7) *  r), 0, @sp_number_image, @sp_src_rect)        
  912.      end  
  913.      @sp_refresh = false if @sp == @actor.sp
  914.   end      
  915.   
  916.   #--------------------------------------------------------------------------
  917.   # * Sp Flow Update
  918.   #--------------------------------------------------------------------------
  919.   def sp_flow_update
  920.       @sp_sprite.bitmap.clear
  921.       @sp_width = @sp_range  * @actor.sp / @actor.maxsp
  922.           #SP Damage---------------------------------
  923.           if @sp_width_old != @sp_width
  924.               valor = (@sp_width_old - @sp_width) * 3 / 100
  925.               valor = 0.5 if valor < 1              
  926.               @sp_width_old -= valor if @sp_width_old > @sp_width  
  927.               if @sp_width_old < @sp_width
  928.                  @sp_width_old = @sp_width
  929.               end      
  930.               @sp_src_rect_old = Rect.new(@sp_flow, @sp_height,@sp_width_old, @sp_height)
  931.               @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect_old)
  932.           end
  933.       #SP Real------------------------------------
  934. #      @sp_src_rect = Rect.new(@sp_flow, 0,@sp_width, @sp_height)
  935.        @sp_src_rect = Rect.new(@step * 100 , 0,@sp_width, @sp_height)
  936.        @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)
  937.       
  938. #      @sp_flow += 5  
  939. #      if @sp_flow >= @sp_image.width - @sp_range
  940. #         @sp_flow = 0  
  941. #      end
  942.     end  
  943.   
  944.   #--------------------------------------------------------------------------
  945.   # * level_update
  946.   #--------------------------------------------------------------------------
  947.   def level_update
  948.     @level_number_sprite.bitmap.clear
  949.     @level_number_text = @actor.level.abs.to_s.split(//)
  950.     for r in 0..@level_number_text.size - 1
  951.        @level_number_abs = @level_number_text[r].to_i
  952.        @level_src_rect = Rect.new(@level_im_cw * @level_number_abs, 0, @level_im_cw, @level_im_ch)
  953.        @level_number_bitmap.blt(13 + ((@level_im_cw - 12) *  r), 0, @level_number_image, @level_src_rect)        
  954.     end      
  955.     @level = @actor.level
  956.     @level_number_sprite.zoom_x = 2
  957.     @level_number_sprite.zoom_y = 2
  958.   end
  959.   
  960.   #--------------------------------------------------------------------------
  961.   # * level_update
  962.   #--------------------------------------------------------------------------
  963.   def level_up_effect
  964.     @level_number_sprite.zoom_x -= 0.02
  965.     @level_number_sprite.zoom_y -= 0.02
  966.     if @level_number_sprite.zoom_x <= 1.00     
  967.        @level_number_sprite.zoom_x = 1.00
  968.        @level_number_sprite.zoom_y = 1.00
  969.     end
  970.   end  
  971.   
  972.   #--------------------------------------------------------------------------
  973.   # * exp_update
  974.   #--------------------------------------------------------------------------
  975.   def exp_update
  976.     @level_sprite.bitmap.clear   
  977.     rate = @actor.now_exp.to_f / @actor.next_exp
  978.     rate = 1 if @actor.next_exp == 0
  979.     @level_cw = @level_image.width * rate
  980.     @level_cw = @level_image.width if @actor.level == 99      
  981.     @level_src_rect_back = Rect.new(0, 0,@level_cw, @level_image.height)
  982.     @level_bitmap.blt(0,0, @level_image, @level_src_rect_back)  
  983.     @exp = @actor.exp
  984.   end  
  985.   
  986.   #--------------------------------------------------------------------------
  987.   # * gold_number_up
  988.   #--------------------------------------------------------------------------
  989.   def gold_number_up
  990.        @gold_refresh = true
  991.        @gold_ref = 20 * (@gold - @gold_old) / 100
  992.        @gold_ref = 1 if @gold_ref < 1
  993.        @gold += @gold_ref   
  994.        if @gold >= $game_party.gold
  995.           @gold_old = $game_party.gold
  996.           @gold = $game_party.gold
  997.           @gold_ref = 0
  998.        end  
  999.   end   

  1000.   #--------------------------------------------------------------------------
  1001.   # * gold_number_down
  1002.   #--------------------------------------------------------------------------
  1003.   def gold_number_down
  1004.        @gold_refresh = true
  1005.        @gold_ref = 10 * (@gold_old - @gold) / 100
  1006.        @gold_ref = 1 if @gold_ref < 1
  1007.        @gold -= @gold_ref     
  1008.        if @gold <= $game_party.gold
  1009.           @gold_old = $game_party.gold
  1010.           @gold = $game_party.gold
  1011.           @gold_ref = 0
  1012.        end   
  1013.   end
  1014.      
  1015.   #--------------------------------------------------------------------------
  1016.   # * gold_number_update
  1017.   #--------------------------------------------------------------------------
  1018.   def gold_number_update  
  1019.     @gold_number_sprite.bitmap.clear
  1020.     @gold_number_text = @gold.abs.to_s.split(//)
  1021.       for r in 0..@gold_number_text.size - 1         
  1022.          @gold_number_abs = @gold_number_text[r].to_i
  1023.          @gold_src_rect = Rect.new(@gold_im_cw * @gold_number_abs, 0, @gold_im_cw, @gold_im_ch)
  1024.          @gold_number_bitmap.blt(0 + ((@gold_im_cw - 10) *  r), 2, @gold_number_image, @gold_src_rect)        
  1025.       end  
  1026.     @gold_refresh = false if @gold == $game_party.gold   
  1027.   end  
  1028.   
  1029. end
  1030. =begin
  1031. #===============================================================================
  1032. # ** Spriteset_Map
  1033. #===============================================================================
  1034. class Spriteset_Map
  1035.   #--------------------------------------------------------------------------
  1036.   # * initialize
  1037.   #--------------------------------------------------------------------------
  1038.   alias mog_achud_initialize initialize
  1039.   def initialize
  1040.       @acthud = Active_Hud.new
  1041.       mog_achud_initialize
  1042.   end
  1043.    
  1044.   #--------------------------------------------------------------------------
  1045.   # * Dispose
  1046.   #--------------------------------------------------------------------------
  1047.   alias mog_achud_dispose dispose
  1048.   def dispose
  1049.       mog_achud_dispose
  1050.       @acthud.dispose
  1051.   end  
  1052.    
  1053.   #--------------------------------------------------------------------------
  1054.   # * Frame Update
  1055.   #--------------------------------------------------------------------------
  1056.   alias mog_achud_update update
  1057.   def update
  1058.       mog_achud_update
  1059.       @acthud.update
  1060.   end      
  1061. end  
  1062. =end
  1063. #===============================================================================
  1064. # ** Scene_Map
  1065. #===============================================================================
  1066. class Scene_Map
  1067.   #--------------------------------------------------------------------------
  1068.   # * main
  1069.   #--------------------------------------------------------------------------
  1070.   alias mog_achud_main main
  1071.   def main
  1072.     @acthud = Active_Hud.new
  1073.     mog_achud_main
  1074.     @acthud.dispose
  1075.   end
  1076.   #--------------------------------------------------------------------------
  1077.   # * Frame Update
  1078.   #--------------------------------------------------------------------------
  1079.   alias mog_achud_update update
  1080.   def update
  1081.       mog_achud_update
  1082.       @acthud.update
  1083.   end      
  1084. end   
  1085. $mog_rgss_active_hud = true
复制代码
timmyyayaya于2011-12-4 19:06补充以下内容:
好的 已经补上@@

点评

把脚本帖全吧  发表于 2011-12-4 19:04
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 09:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表