查看: 2595|回复: 3

[已经解决] 这个脚本好像有点问题,求帮忙改改

[复制链接]
梦石
0
星屑
144
在线时间
167 小时
注册时间
2014-12-16
回帖
39
发表于 2015-1-22 14:16:39 | 显示全部楼层 |阅读模式

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

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

×
[pre lang="ruby" line="1"]#==============================================================================
# ■ Window_BattleResult
#------------------------------------------------------------------------------
#  战斗结束时、显示获得的 EXP 及金钱的窗口。
#==============================================================================

class Window_BattleResult < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     exp       : EXP
  #     gold      : 金钱
  #     treasures : 宝物
  #--------------------------------------------------------------------------
  def initialize(exp, gold, treasures)
    @exp = exp
    @gold = gold
    @treasures = treasures
   
    super(160, 30, 320, 3 * 32 + 324)#@treasures.size * 32 + 164)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.y = 160 - height / 2
    self.z = 99999
    #self.back_opacity = 160
    #self.back_opacity = 0
    self.windowskin = RPG::Cache.windowskin("")
    #self.visible = false
   
#  if @treasures.size != 3
    @win_window = Window_Base.new(260, 88, 118, 48)
#   else
#   @win_window = Window_Base.new(260, 88 + 40, 118, 48)
#  end
  
    @win_window.contents = Bitmap.new(368, 32)
    win_string = "战斗总结"
    #@win_window.contents.font.name = "黑体"
    @win_window.contents.font.size = 16
    @win_window.contents.font.name = Font.default_name
    #@win_window.contents.font.size = Font.default_size
    @win_window.contents.font.color = Color.new(255,255,255,255)
    @win_window.contents.draw_text(5, -8, 268, 32, win_string)
    @win_window.z = 9999
    @win_window.windowskin = RPG::Cache.windowskin("plainpearl.png")
   
#  if @treasures.size != 3
    @exp_window = Window_Base.new(225, 141, 188, 48)
#  else
#   @exp_window = Window_Base.new(225, 141 + 40, 188, 48)
# end
  
    @exp_window.contents = Bitmap.new(368, 32)
    exp_string = "获得经验值"
    @exp_window.contents.font.size = 16
    @exp_window.contents.font.name = Font.default_name
    #@win_window.contents.font.size = Font.default_size
    @exp_window.contents.font.color = Color.new(255,255,255,255)
    @exp_window.contents.draw_text(5, -8, 268, 32, exp_string)
    @exp_window.z = 9999
    @exp_window.visible = false
    @exp_window.windowskin = RPG::Cache.windowskin("plainpearl.png")
   
   
#   if @treasures.size != 3
    @money_window = Window_Base.new(190, 146 + 58 - 10, 268, 48)
# else
#    @money_window = Window_Base.new(190, 146 + 88, 268, 48)
#  end
    @money_window.contents = Bitmap.new(368, 32)
    money_string = "打败敌人获得           金币"
    @money_window.contents.font.size = 16
    @money_window.contents.font.name = Font.default_name
    #@win_window.contents.font.size = Font.default_size
    @money_window.contents.font.color = Color.new(255,255,255,255)
    @money_window.contents.draw_text(5, -8, 268, 32, money_string)
    @money_window.z = 9999
    @money_window.visible = false
    @money_window.windowskin = RPG::Cache.windowskin("plainpearl.png")
   
    #if @treasures.size != 3 and @treasures.size > 3
    #@win_item_window = Window_Base.new(205, 146 + 116 - 15, 238, 48)
    @win_item_window = Window_Base.new(120, 146 + 116 - 15, 400, 150)
    #@win_item_window = Window_Base.new(205 + 48, 146 + 116 - 15, 118, 88)
    @win_item_window.contents = Bitmap.new(400, 32)
    win_item_string = "获得物品"
    @win_item_window.contents.font.size = 16
    @win_item_window.contents.font.name = Font.default_name
    @win_item_window.contents.font.color = Color.new(255,255,255,255)
    @win_item_window.contents.draw_text(150, -8, 200, 32, win_item_string)
    @win_item_window.z = 9999
    @win_item_window.visible = false
    @win_item_window.windowskin = RPG::Cache.windowskin("plainpearl.png")
   #   end
      
    refresh
  end

  #--------------------------------------------------------------------------
  # ● 描绘物品名
  #     item : 物品
  #     x    : 描画目标 X 坐标
  #     y    : 描画目标 Y 坐标
  #--------------------------------------------------------------------------
  def draw_item_name1(item, x, y)
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
    self.contents.font.color = Color.new(-255, -255, -255, 255)
    self.contents.font.size = 18
    self.contents.draw_text(x +24, y, 212, 32, item.name)
  end

  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    x = 4
    #self.contents.font.color = normal_color
   
    20.times{Graphics.update}  
   
    @exp_window.visible = true
    self.contents.font.color = Color.new(-255,-255,-255,255)
    cx = contents.text_size(@exp.to_s).width
    #self.contents.draw_text(155, 74, cx, 32, @exp.to_s)
   
   # if @treasures.size != 3
    self.contents.draw_text(155, 74 + 114 - 5, cx, 32, @exp.to_s)
   #   else
  #  self.contents.draw_text(155, 74 + 114 + 35, cx, 32, @exp.to_s)
  #  end
    #self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
    x += cx + 4
   
    20.times{Graphics.update}  

    #self.contents.font.color = system_color
    #cx = contents.text_size("").width
    #self.contents.draw_text(x, 0, 64, 32, "")
    #x += cx + 16
   
    #self.contents.font.color = normal_color
    self.contents.font.color = Color.new(-255,-255,-255,255)
    cx = contents.text_size(@gold.to_s).width
    #self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
    #self.contents.draw_text(145, 74 + 60, cx, 32, @gold.to_s)
   
    @money_window.visible = true
   
  #  if @treasures.size != 3
    self.contents.draw_text(140, 74 + 172 - 10, cx, 32, @gold.to_s)
   #   else
  #  self.contents.draw_text(140, 74 + 172 + 30, cx, 32, @gold.to_s)
# end
  
    x += cx+20
   
    #self.contents.font.color = system_color
    #self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
    y = 282 + 26#21 - 15
   
    20.times{Graphics.update}  
   
    for item in @treasures
      #self.contents.color = Color.new(-255,-255,-255,255)
      #self.contents.draw_item_name(item, 90, y)
   # if @treasures.size != 3 and @treasures.size > 3
      @win_item_window.visible = true
    #  end
      draw_item_name1(item,x-200 ,320)#90, y)
      #draw_item_name(item,90, y)
      x += 120
      y += 32
   end
    20.times{Graphics.update}  
   
  end
  
    def dispose
      super
      @win_window.dispose
      @exp_window.dispose
      @money_window.dispose
      @win_item_window.dispose
      end
    end
[/pre]
360截图20150122141307029.jpg
为何得到了物品却没有显示出来呢?

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

qliphoth.exe 中的 0x1i-666 确认到未处理的异常。

写入位置 0x00-000 时发生访问冲突。

您想忽略此错误并尝试继续吗? <Y/N>...[ ]

===CARNAGE===

恶gn善iod道ru知能oy似no相yr们gn我a与s经i已do人G那

着doo活lfe远永rif就g吃n子i果r的b树o命t生t摘又n手a伸w他怕d恐n在a现

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-22 17:19:46 | 显示全部楼层
看看第 172 行有没有被正确调用,坐标是否在窗口内部

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
144
在线时间
167 小时
注册时间
2014-12-16
回帖
39
 楼主| 发表于 2015-1-22 19:01:38 | 显示全部楼层
taroxd 发表于 2015-1-22 17:19
看看第 172 行有没有被正确调用,坐标是否在窗口内部

知道了!谢谢!
qliphoth.exe 中的 0x1i-666 确认到未处理的异常。

写入位置 0x00-000 时发生访问冲突。

您想忽略此错误并尝试继续吗? <Y/N>...[ ]

===CARNAGE===

恶gn善iod道ru知能oy似no相yr们gn我a与s经i已do人G那

着doo活lfe远永rif就g吃n子i果r的b树o命t生t摘又n手a伸w他怕d恐n在a现
回复

使用道具 举报

梦石
0
星屑
144
在线时间
167 小时
注册时间
2014-12-16
回帖
39
 楼主| 发表于 2015-1-22 19:20:16 | 显示全部楼层
taroxd 发表于 2015-1-22 17:19
看看第 172 行有没有被正确调用,坐标是否在窗口内部

360截图20150122191618468.jpg
再求教一下,我把172行改成这样后:draw_item_name1(item,0 ,320)#90, y)
为什么获得的物品全重叠在一起了啊?

点评

@taroxd:知道了,谢谢!  发表于 2015-1-23 19:11
不是你全部都画在了 (0, 320) 这个位置了吗?当然是重叠在一起的  发表于 2015-1-23 16:15
qliphoth.exe 中的 0x1i-666 确认到未处理的异常。

写入位置 0x00-000 时发生访问冲突。

您想忽略此错误并尝试继续吗? <Y/N>...[ ]

===CARNAGE===

恶gn善iod道ru知能oy似no相yr们gn我a与s经i已do人G那

着doo活lfe远永rif就g吃n子i果r的b树o命t生t摘又n手a伸w他怕d恐n在a现
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部