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

Project1

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

[已经解决] 图片显示经验问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3606
在线时间
1891 小时
注册时间
2010-6-19
帖子
1211
跳转到指定楼层
1
发表于 2014-8-5 08:55:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
在脚本里放了个仿图片显示经验的功能,可是人物满级的时候就出错,没满级都没问题。

Project1.rar

187.78 KB, 下载次数: 36

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
4
发表于 2014-8-5 12:33:00 | 只看该作者
@actor @hp @sp @exp @next_exp @x @y
  1. #==============================================================================
  2. # ■ Window_EquipLeft
  3. #------------------------------------------------------------------------------
  4. #  装备画面的、显示角色能力值变化的窗口。
  5. #==============================================================================
  6. #--------------------------------------#
  7. #  大话西游单机论坛  www.ie886.com     #
  8. #--------------------------------------#

  9. class Window_EquipLeft < Window_Base
  10.   #===================释放经验条====================
  11.   def dispose
  12.     super
  13.     dispose_exp
  14.   end
  15.   #=====================================================================
  16.   def dispose_exp
  17.     #◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
  18.     if !@exp_b.nil? and !@exp_b.disposed?
  19.       @exp_b.bitmap.dispose
  20.       @exp_b.dispose
  21.       @exp_b = nil
  22.       @exp_c.bitmap.dispose
  23.       @exp_c.dispose
  24.       @exp_c = nil
  25.     end
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 初始化对像
  29.   #     actor : 角色
  30.   #--------------------------------------------------------------------------
  31.   def initialize(actor)
  32.    
  33.     super(0, 0, 640, 480)   #super(0, 64, 272, 192)
  34.    
  35.     self.contents = Bitmap.new(width - 32, height - 32)
  36.     @actor = actor
  37.    
  38.     if $scene.is_a?(Scene_Baby)
  39.       self.x = 0
  40.       self.y = 0
  41.       self.width = 640
  42.       self.height = 480
  43.     end
  44.    
  45.     if $scene.is_a?(Scene_Baby) and @actor != 0
  46.      refresh2
  47.     elsif @actor != 0
  48.      refresh
  49.     end
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 宠物加点---KDS添加
  53.   #--------------------------------------------------------------------------
  54.   def refresh2
  55.    
  56.     draw_actor_name(@actor, 46+100, 144)
  57.    
  58.     @actor = $baby_index
  59.    
  60.     self.contents.clear
  61.    
  62.     if $stop == 0
  63.       return
  64.     end
  65.    
  66.     self.contents.font.size = 15
  67.     self.contents.font.bold = true

  68.     draw_actor_name(@actor, 46, 144)     # 名字
  69.     draw_actor_level2(@actor, 46, 166)   # 等级
  70.     self.contents.draw_text(46, 190, 50, 32, "100")  #忠诚

  71.     draw_actor_parameter2(@actor, - 27, 274, 3)  # 力量
  72.     draw_actor_parameter2(@actor, - 27, 300, 4)  # SP敏捷
  73.    
  74.     draw_actor_parameter2(@actor, 246, 225, 8)  # 根骨
  75.     draw_actor_parameter2(@actor, 246, 249, 9)  # 灵性
  76.     draw_actor_parameter2(@actor, 246, 275, 10) # 力量
  77.     draw_actor_parameter2(@actor, 246, 300, 11) # 敏捷
  78.         
  79.     draw_actor_parameter2(@actor, 284, 324, 7)  # 点数
  80.    
  81.     self.contents.font.color = Color.new(255,255,255)
  82.     self.contents.draw_text(44, 225, 300, 32, @actor.hp.to_s + "/" + @actor.maxhp.to_s)
  83.     self.contents.draw_text(44, 249, 300, 32, @actor.sp.to_s + "/" + @actor.maxsp.to_s)
  84.     self.contents.draw_text(44, 325, 300, 32, @actor.exp_s + "/" + @actor.next_exp_s)
  85. #======================================================================
  86.     self.contents.font.size = 15
  87.     self.contents.draw_text(270, 225, 80, 32, "根骨", 0)
  88.     self.contents.draw_text(270, 249, 80, 32, "灵性", 0)
  89.     self.contents.draw_text(270, 275, 80, 32, "力量", 0)
  90. #   self.contents.draw_text(280, 300, 80, 32, "罡力", 0)
  91.     self.contents.draw_text(270, 300, 80, 32, "敏捷", 0)
  92. #=======================================================================  
  93.     #===============经验条显示==============================================
  94.     #◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
  95.     dispose_exp
  96.     @exp_b = nil
  97.     @exp_c = nil   
  98.     @exp_b = Sprite.new
  99.     @exp_c = Sprite.new  
  100.     #=================图片显示============
  101.     @exp_b.bitmap = Bitmap.new(168,10)     #(经验条1宽度,第高度)
  102.     @exp_c.bitmap = Bitmap.new(168,5)     #(经验条2宽度,第高度)
  103.     #=================经验条颜色============
  104.     color2 = Color.new(111,172,115,255)  #经验条1颜色
  105.     color3 = Color.new(49,159,51,255)    #经验条2颜色
  106.     #=================经验值增幅度===============
  107.     #★★★★★★★★★★★★★★★★★★★★
  108.     next_exp = @actor.next_exp_s.to_i == 0 ? @actor.exp : @actor.next_exp_s.to_i
  109.     @exp_d = 168*@actor.exp/next_exp
  110.     #=================经验条增幅条1==============
  111.     @exp_b.x = 61+310
  112.     @exp_b.y = 250+50-1
  113.     @exp_b.z = 10001
  114.     @exp_b.bitmap.fill_rect(0,0,@exp_d,32,color2)
  115.     #=================经验条增幅条2==============
  116.     @exp_c.x = 61+310
  117.     @exp_c.y = 253+50-1  
  118.     @exp_c.z = 10001
  119.     @exp_c.bitmap.fill_rect(0,0,@exp_d,32,color3)
  120.   #  end

  121.   end  
  122.   
  123.   #--------------------------------------------------------------------------
  124.   # ● 刷新
  125.   #--------------------------------------------------------------------------
  126.   def refresh
  127.    
  128.     self.contents.clear
  129.    
  130.     draw_actor_name(@actor, 4, 0)
  131.     draw_actor_level(@actor, 4, 32)
  132.     draw_actor_parameter(@actor, 4, 64, 0)
  133.     draw_actor_parameter(@actor, 4, 96, 1)
  134.     draw_actor_parameter(@actor, 4, 128, 2)
  135.    
  136.     if @new_atk != nil
  137.       self.contents.font.color = system_color
  138.       self.contents.draw_text(160, 64, 40, 32, "→", 1)
  139.       self.contents.font.color = normal_color
  140.       self.contents.draw_text(200, 64, 36, 32, @new_atk.to_s, 2)
  141.     end
  142.    
  143.     if @new_pdef != nil
  144.       self.contents.font.color = system_color
  145.       self.contents.draw_text(160, 96, 40, 32, "→", 1)
  146.       self.contents.font.color = normal_color
  147.       self.contents.draw_text(200, 96, 36, 32, @new_pdef.to_s, 2)
  148.     end
  149.    
  150.     if @new_mdef != nil
  151.       self.contents.font.color = system_color
  152.       self.contents.draw_text(160, 128, 40, 32, "→", 1)
  153.       self.contents.font.color = normal_color
  154.       self.contents.draw_text(200, 128, 36, 32, @new_mdef.to_s, 2)
  155.     end
  156.    
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 变更装备后的能力值设置
  160.   #     new_atk  : 变更装备后的攻击力
  161.   #     new_pdef : 变更装备后的物理防御
  162.   #     new_mdef : 变更装备后的魔法防御
  163.   #--------------------------------------------------------------------------
  164.   def set_new_parameters(new_atk, new_pdef, new_mdef)
  165.     if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef
  166.       @new_atk = new_atk
  167.       @new_pdef = new_pdef
  168.       @new_mdef = new_mdef
  169.       refresh
  170.     end
  171.   end
  172. end
  173. #--------------------------------------#
  174. #  大话西游单机论坛  www.ie886.com     #
  175. #--------------------------------------#
复制代码
这样就好了

点评

完美解决!  发表于 2014-8-5 13:00

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3606
在线时间
1891 小时
注册时间
2010-6-19
帖子
1211
3
 楼主| 发表于 2014-8-5 12:17:52 | 只看该作者
恐惧剑刃 发表于 2014-8-5 09:43
因为除以了一个为0的数
之前那个脚本新建工程居然会报错!!!!实在想不通,不过现在好了
...

现在好了,但是我把这个经验条放宠物界面显示的时候有个问题,当角色身上没宠物的时候,就会报错,报错的地方是释放图片的地方,帮看下   放在  【宠】Window_EquipLeft里

复件 真移位宠物图显示.rar

1.78 MB, 下载次数: 26

回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
2
发表于 2014-8-5 09:43:08 | 只看该作者
本帖最后由 恐惧剑刃 于 2014-8-5 11:17 编辑
  1.   class Window_Status < Window_Base
  2.     def refresh     
  3.     self.contents.draw_text(44, 325, 300, 32, @actor.exp_s + "/" + @actor.next_exp_s)
  4.     #===============经验条显示==============================================
  5.     @exp_b = nil
  6.     @exp_c = nil   
  7.     @exp_b = Sprite.new
  8.     @exp_c = Sprite.new  
  9.     #=================图片显示============
  10.     @exp_b.bitmap = Bitmap.new(249,10)     #(经验条1宽度,第高度)
  11.     @exp_c.bitmap = Bitmap.new(249,5)     #(经验条2宽度,第高度)
  12.     #=================经验条颜色============
  13.     color2 = Color.new(111,172,115,255)  #经验条1颜色
  14.     color3 = Color.new(49,159,51,255)    #经验条2颜色
  15.     #=================经验值增幅度===============
  16.     #★★★★★★★★★★★★★★★★★★★★
  17.     next_exp = @actor.next_exp_s.to_i == 0 ? @actor.exp : @actor.next_exp_s.to_i
  18.     @exp_d = 249*@actor.exp/next_exp
  19.     #=================经验条增幅条1==============
  20.     @exp_b.x = 61
  21.     @exp_b.y = 250+139  
  22.     @exp_b.z = 10001
  23.     @exp_b.bitmap.fill_rect(0,0,@exp_d,32,color2)
  24.     #=================经验条增幅条2==============
  25.     @exp_c.x = 61
  26.     @exp_c.y = 253+139  
  27.     @exp_c.z = 10001
  28.     @exp_c.bitmap.fill_rect(0,0,@exp_d,32,color3)
  29.     end
  30.   #===================释放经验条====================
  31.   def dispose
  32.     super   
  33.     @exp_b.bitmap.dispose  
  34.     @exp_c.bitmap.dispose   
  35.     @exp_b.dispose   
  36.     @exp_c.dispose
  37.     @exp_b = nil
  38.     @exp_c = nil  
  39.   end
  40. end
复制代码
因为除以了一个为0的数
之前那个脚本新建工程居然会报错!!!!实在想不通,不过现在好了

点评

现在呢?  发表于 2014-8-5 11:19
这样经验条显示异常了,1号角色满级了,经验条满了,后面的角色没满级,经验条也满的  发表于 2014-8-5 10:12
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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