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

Project1

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

[已经解决] 脚本出错

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
74 小时
注册时间
2011-2-16
帖子
23
跳转到指定楼层
1
发表于 2011-4-7 12:35:03 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
  1. [code][code]#==============================================================================
  2. # ■ Window_EquipRight
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示角色现在装备的物品的窗口。
  5. #==============================================================================

  6. class Window_EquipRight_New < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor : 角色
  10.   #--------------------------------------------------------------------------[code]
复制代码
def initialize(actor)
    #super(160, 48, 240, 352)
    super(285, 17, 256, 300)
    self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
    self.opacity = 0
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ● 获取物品
  #--------------------------------------------------------------------------
  def item
    return @data[self.index]
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @data = []
    @data.push($data_weapons[@actor.weapon_id])
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @data.push($data_armors[@actor.armor5_id])
    @data.push($data_armors[@actor.armor6_id])
    @data.push($data_armors[@actor.armor7_id])
    @item_max = @data.size
    self.contents.font.color = system_color
    self.contents.font.size = 20
    self.contents.draw_text(4, 0, 92, 32, $data_system.words.weapon)
    self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
    self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
    self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
    self.contents.draw_text(4, 32 * 4, 92, 32, $data_system.words.armor4)
    self.contents.draw_text(4, 32 * 5, 92, 32, "鞋")
    self.contents.draw_text(4, 32 * 6, 92, 32, "法宝1")
    self.contents.draw_text(4, 32 * 7, 92, 32, "法宝2")
    draw_item_name(@data[0], 64, 32 * 0, 18)
    draw_item_name(@data[1], 64, 32 * 1, 18)
    draw_item_name(@data[2], 64, 32 * 2, 18)
    draw_item_name(@data[3], 64, 32 * 3, 18)
    draw_item_name(@data[4], 64, 32 * 4, 18)
    draw_item_name(@data[5], 64, 32 * 5, 18)
    draw_item_name(@data[6], 64, 32 * 6, 18)
    draw_item_name(@data[7], 64, 32 * 7, 18)
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
  #--------------------------------------------------------------------------
  # ● 更新光标举行
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  # ● 更新光标举行
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # 光标位置不满 0 的情况下
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # 获取当前的行
    row = @index / @column_max
    # 当前行被显示开头行前面的情况下
    if row < self.top_row
      # 从当前行向开头行滚动
      self.top_row = row
    end
    # 当前行被显示末尾行之后的情况下
    if row > self.top_row + (self.page_row_max - 1)
      # 从当前行向末尾滚动
      self.top_row = row - (self.page_row_max - 1)
    end
    # 计算光标的宽
    cursor_width = self.width / @column_max - 32
    # 计算光标坐标
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 40 - self.oy
    # 更新国标矩形
    self.cursor_rect.set(x, y, cursor_width, 40)
  end
#end




##############################################################################

class Window_Equip_heads < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     actor : 角色
  #--------------------------------------------------------------------------
  def initialize(actor = 0)
    #super(160, 48, 240, 352)
    super(0, 0, 150,230)
    self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
    self.opacity = 0
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------

  def refresh
    self.contents.clear
    name = @actor.name+"_装备头像.png"
      bitmap = Bitmap.new("Graphics/System/menu/heads/#{name}")
      src_rect = Rect.new(0, 0, 150, 150)
      self.contents.blt(0, 0, bitmap, src_rect)
      self.contents.font.size = 18
      self.contents.font.color = text_color(3)
      draw_actor_name(@actor, 0, 173)
      end
    end[/code][/code][/code]
   draw_item_name(@data[0], 64, 32 * 0, 18)就是这一句了。

未命名1.jpg (9.17 KB, 下载次数: 0)

未命名1.jpg

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
4
发表于 2011-4-7 17:06:16 | 只看该作者
回复 dssl001 的帖子

Lz要知道简化代码哦!
(draw_item_name(@data[1], 64, 32 * 1, 18) 中的18不知道lz是什么意思,draw_item_name只要3个参数)

    draw_item_name(@data[0], 64, 32 * 0, 18)
    draw_item_name(@data[1], 64, 32 * 1, 18)
    draw_item_name(@data[2], 64, 32 * 2, 18)
    draw_item_name(@data[3], 64, 32 * 3, 18)
    draw_item_name(@data[4], 64, 32 * 4, 18)
    draw_item_name(@data[5], 64, 32 * 5, 18)
    draw_item_name(@data[6], 64, 32 * 6, 18)
    draw_item_name(@data[7], 64, 32 * 7, 18)

这几行简化为
1.upto(7){|i| draw_item_name(@data, 64, 32 * i)}

这样代码更漂亮!同理:
    @data.push($data_armors[@actor.armor1_id])
    @data.push($data_armors[@actor.armor2_id])
    @data.push($data_armors[@actor.armor3_id])
    @data.push($data_armors[@actor.armor4_id])
    @data.push($data_armors[@actor.armor5_id])
    @data.push($data_armors[@actor.armor6_id])
    @data.push($data_armors[@actor.armor7_id])

这几行简化为
1.upto(7){|i|eval("@data.push($data_armors[@actor.armor#{i}_id])")}

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
「旅」 + 200 + 2

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
61 小时
注册时间
2006-9-15
帖子
946
3
发表于 2011-4-7 16:40:05 | 只看该作者
本帖最后由 secondsen 于 2011-4-7 16:40 编辑

def draw_item_name(item, x, y)

是三个参数。。。你写四个参数能对么
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
帖子
116
2
发表于 2011-4-7 16:31:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 08:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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