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

Project1

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

[已经过期] draw_actor_parameter_state 状态显示出错

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2010-9-18
帖子
7
跳转到指定楼层
1
发表于 2011-8-5 09:04:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚Window_Status New! 的62行发生了NoMethodError

undefined method  draw_actor_parameter_state for Window_Status New
  1. #==============================================================================
  2. # ■ Window_Status
  3. #------------------------------------------------------------------------------
  4. #  显示状态画面、完全规格的状态窗口。
  5. #==============================================================================

  6. class Window_Status_New < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor : 角色
  10.   #--------------------------------------------------------------------------
  11.   def initialize(actor)
  12.     super(-10, -10, 480, 640)
  13.     self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  14.     self.opacity =0
  15.     self.contents = Bitmap.new(width , height )
  16.     @actor = actor
  17.     refresh
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 刷新
  21.   #--------------------------------------------------------------------------
  22.   def refresh
  23.     self.contents.clear
  24.         bitmap1=Bitmap.new("Graphics/system/menu/人物底板")
  25.         src_rect1 = Rect.new(0, 0, bitmap1.width, bitmap1.height)
  26.         bitmap=Bitmap.new("Graphics/system/menu/headp/"[email protected]+"-1")
  27.         src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  28.         bitmap2=Bitmap.new("Graphics/system/menu/状态底板.png")
  29.         src_rect2 = Rect.new(0, 0,bitmap2.width, bitmap2.height)
  30.         self.contents.blt(0, 0, bitmap1, src_rect1,255)
  31.         self.contents.blt(10, 30, bitmap, src_rect,255)  
  32.         self.contents.blt(150, 0, bitmap2, src_rect2,255)
  33.         
  34.         
  35.         self.contents.font.name = ["华文行楷","隶书","黑体","楷体","宋体"]
  36.         self.contents.font.color.set(0,0,0)
  37.         self.contents.font.size = 20
  38.         $zzhok = false
  39.         
  40.         self.contents.draw_text(15, 327, 64, 32, "经验值")
  41.         self.contents.draw_text(25, 345, 96, 32, @actor.exp.to_s)
  42.         self.contents.draw_text(15, 363, 128, 32, "升级所需经验值")
  43.         self.contents.draw_text(25, 381, 64, 32, @actor.next_exp.to_s)
  44.         self.contents.draw_text(115, 20, 32, 32, @actor.level.to_s)
  45.         self.contents.draw_text(110, 35, 32, 32, "级")
  46.         
  47.         
  48.         
  49.         @leftless = 296
  50.         self.contents.font.size = 24
  51.         self.contents.font.name = ["隶书","黑体","楷体","宋体"]
  52.         draw_actor_name(@actor, 15, 5)
  53.         
  54.         
  55.         self.contents.font.size = 22
  56.         #draw_actor_class(@actor, 400 - @leftless, 32)
  57.         #draw_actor_state(@actor, 480 - @leftless, 32)
  58.         
  59.         
  60.         self.contents.font.name = ["华文行楷","隶书","黑体","楷体","宋体"]
  61.         draw_actor_parameter_state(@actor, 480 - @leftless, 20, 0)
  62.         draw_actor_parameter_state(@actor, 480 - @leftless, 40, 1)
  63.         draw_actor_parameter_state(@actor, 480 - @leftless, 60, 2)
  64.         draw_actor_parameter_state(@actor, 480 - @leftless, 80, 3)
  65.         draw_actor_parameter_state(@actor, 480 - @leftless, 100, 4)
  66.         draw_actor_parameter_state(@actor, 480 - @leftless, 120, 5)
  67.         draw_actor_parameter_state(@actor, 480 - @leftless, 140, 6)
  68.         
  69.         
  70.         self.contents.font.color = system_color
  71.         self.contents.font.size = 24
  72.         self.contents.draw_text(540 - @leftless, 180, 96, 32, "装备")
  73.         @newless = 10
  74.         self.contents.font.size = 22
  75.         draw_item_name($data_weapons[@actor.weapon_id], 460 - @leftless, 230 - @newless)
  76.         draw_item_name($data_armors[@actor.armor1_id], 580 - @leftless, 230 - @newless)
  77.         draw_item_name($data_armors[@actor.armor2_id], 460 - @leftless, 260 - @newless)
  78.         draw_item_name($data_armors[@actor.armor3_id], 580 - @leftless, 260 - @newless)
  79.         draw_item_name($data_armors[@actor.armor4_id], 460 - @leftless, 290 - @newless)
  80.         draw_item_name($data_armors[@actor.armor5_id], 580 - @leftless, 290 - @newless)
  81.         $zzhok = false
  82.     end

  83.   def dummy
  84.     self.contents.font.color = system_color
  85.     self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
  86.     self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
  87.     self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
  88.     self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
  89.     self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
  90.     draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
  91.     draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
  92.     draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
  93.     draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
  94.     draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  95.   end
  96. end
复制代码

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

2
发表于 2011-8-5 09:08:33 | 只看该作者
draw_actor_parameter_state
你的第60行到第68行里面用了这个,对,你的这个定义呢?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2010-9-18
帖子
7
3
 楼主| 发表于 2011-8-5 09:34:40 | 只看该作者
这脚本是仙三范例里带的,还是找不到,去换个范例好了,不过还是谢谢了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
帖子
745
4
发表于 2011-8-5 09:53:57 | 只看该作者
没有定义这个方法啊。。。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
56 小时
注册时间
2010-9-18
帖子
7
5
 楼主| 发表于 2011-8-5 10:33:52 | 只看该作者
这个self.contents.font.color = zise_color 第18行 NameError 有办法吗?是不是颜色错误了。可是范例上又没问题。
  1. #==============================================================================
  2. # ■ Window_CurrentBGM_Volume
  3. #==============================================================================
  4. class Window_CurrentBGM_Volume < Window_Base
  5.   def initialize
  6.     super(575, 100, 90, 96)
  7.     self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  8.     self.opacity = 0
  9.     self.contents = Bitmap.new(width - 32, height - 32)
  10.     self.back_opacity = 160
  11.     refresh
  12.   end
  13.   def refresh
  14.     self.contents.clear
  15.     self.contents.font.size = 20
  16. #  self.contents.font.color = zise_color
  17. #  self.contents.draw_text(-0, 0, 160, 32, "BGM")
  18.     self.contents.font.color = zise_color
  19.     self.contents.draw_text(-90, 25, 135, 32, $game_system.bgm_volume.to_s + "%", 2.9)
  20.   end
  21. end

  22. #==============================================================================
  23. # ■ Window_BGM_Volume
  24. #==============================================================================
  25. class Window_BGM_Volume < Window_Selectable
  26.   def initialize(width, commands)
  27.     #super(500, 110, commands.size * 32 + 32, width)
  28.     super(0, 0, 335, 40)
  29.     #@item_max = commands.size
  30.     @item_max = 7
  31.     @column_max = commands.size
  32.     @commands = commands
  33.     self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  34.     self.opacity = 0
  35.     self.contents = Bitmap.new(@item_max * 32, height - 32)
  36.     self.back_opacity = 160
  37.     refresh
  38.     self.index = 0
  39.   end
  40.   def refresh
  41.     self.contents.clear
  42.     self.contents.font.size = 20
  43.     for i in 0...@column_max               #@item_max
  44.     draw_item(i, normal_color)
  45.     end
  46.   end
  47.   def draw_item(index, color)
  48.     self.contents.font.color = color
  49.     #rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
  50.     rect = Rect.new(32 * index,4 ,32 , self.contents.width - 8)
  51.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  52.     self.contents.draw_text(rect, @commands[index])
  53.   end
  54.   def disable_item(index)
  55.     draw_item(index, disabled_color)
  56.   end
  57. end

  58. class Window_BGM_Volume < Window_Selectable
  59.   #--------------------------------------------------------------------------
  60.   # ● 更新光标举行
  61.   #--------------------------------------------------------------------------
  62.   def update_cursor_rect
  63.     # 光标位置不满 0 的情况下
  64.     if @index < 0
  65.       self.cursor_rect.empty
  66.       return
  67.     end
  68.     # 获取当前的行
  69.     row = @index / @column_max
  70.     # 当前行被显示开头行前面的情况下
  71.     if row < self.top_row
  72.       # 从当前行向开头行滚动
  73.       self.top_row = row
  74.     end
  75.     # 当前行被显示末尾行之后的情况下
  76.     if row > self.top_row + (self.page_row_max - 1)
  77.       # 从当前行向末尾滚动
  78.       self.top_row = row - (self.page_row_max - 1)
  79.     end
  80.     # 计算光标的宽
  81.     cursor_width = 38 #600 / (@column_max + 1) - 32 - 32
  82.     # 计算光标坐标
  83.     #y = @index % @column_max * (cursor_width) + 10
  84.     #x = @index / @column_max * 32 - self.oy+270
  85.    
  86.     #==============暂加,给x,q赋值===================
  87.     x=15
  88.     q=20
  89.     #==============================================
  90.     for i in 0...(@index+1)
  91.       x= i* 38
  92.       y = 0 #i*80
  93.     # 更新光标矩形
  94.     self.cursor_rect.set(x, y, cursor_width, 20)
  95.   end
  96. end

  97.   #--------------------------------------------------------------------------
  98.   # ● 刷新画面
  99.   #--------------------------------------------------------------------------
  100.   def update
  101.     super
  102.     # 可以移动光标的情况下
  103.     if self.active and @item_max > 0 and @index >= 0
  104.       # 方向键下被按下的情况下
  105.       if Input.repeat?(Input::DOWN)
  106.         # 列数不是 1 并且方向键的下的按下状态不是重复的情况、
  107.         # 或光标位置在(项目数-列数)之前的情况下
  108.         if (@column_max == 1 and Input.trigger?(Input::DOWN)) or
  109.            @index < @item_max - @column_max
  110.           # 光标向下移动
  111.           @index = (@index + @column_max) % @item_max
  112.         end
  113.       end
  114.       # 方向键上被按下的情况下
  115.       if Input.repeat?(Input::UP)
  116.         # 列数不是 1 并且方向键的下的按下状态不是重复的情况、
  117.         # 或光标位置在列之后的情况下
  118.         if (@column_max == 1 and Input.trigger?(Input::UP)) or
  119.            @index >= @column_max
  120.           # 光标向上移动
  121.           @index = (@index - @column_max + @item_max) % @item_max
  122.         end
  123.       end
  124.       # 方向键右被按下的情况下
  125.       if Input.repeat?(Input::RIGHT)
  126.         # 列数为 2 以上并且、光标位置在(项目数 - 1)之前的情况下
  127.         if @column_max >= 2 and @index < @item_max - 1
  128.           # 光标向右移动
  129.           @index += 1
  130.         end
  131.       end
  132.       # 方向键左被按下的情况下
  133.       if Input.repeat?(Input::LEFT)
  134.         # 列数为 2 以上并且、光标位置在 0 之后的情况下
  135.         if @column_max >= 2 and @index > 0
  136.           # 光标向左移动
  137.           @index -= 1
  138.         end
  139.       end
  140.       # R 键被按下的情况下
  141.       if Input.repeat?(Input::R)
  142.         # 显示的最后行在数据中最后行上方的情况下
  143.         if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
  144.           # 光标向后移动一页
  145.           @index = [@index + self.page_item_max, @item_max - 1].min
  146.           self.top_row += self.page_row_max
  147.         end
  148.       end
  149.       # L 键被按下的情况下
  150.       if Input.repeat?(Input::L)
  151.         # 显示的开头行在位置 0 之后的情况下
  152.         if self.top_row > 0
  153.           # 光标向前移动一页
  154.          
  155.           @index = [@index - self.page_item_max, 0].max
  156.           self.top_row -= self.page_row_max
  157.         end
  158.       end
  159.     end
  160.     # 刷新帮助文本 (update_help 定义了继承目标)
  161.     if self.active and @help_window != nil
  162.       update_help
  163.     end
  164.     # 刷新光标矩形
  165.     update_cursor_rect
  166.   end
  167. end




  168. #==============================================================================
  169. # ■ Window_CurrentSFX_Volume
  170. #==============================================================================
  171. class Window_CurrentSFX_Volume < Window_Base
  172.   def initialize
  173.     #super(460, 224, 180, 96)
  174.     super(575, 100, 90, 96)
  175.     self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  176.     self.opacity = 0
  177.     self.contents = Bitmap.new(width - 32, height - 32)
  178.     self.back_opacity = 160
  179.     refresh
  180.   end
  181.   def refresh
  182.     self.contents.font.size = 20
  183.     self.contents.clear
  184.     #self.contents.font.color = zise_color
  185.     #self.contents.draw_text(-0, 0, 160, 32, "S E")
  186.     self.contents.font.color = zise_color
  187.     self.contents.draw_text(-90, 25, 135, 32, $game_system.se_volume.to_s + "%", 2.9)
  188.   end
  189. end

  190. #==============================================================================
  191. # ■ Window_SFX_Volume
  192. #==============================================================================
  193. class Window_SFX_Volume < Window_Selectable
  194.   def initialize(width, commands)
  195.     #super(380, 64, width, commands.size * 32 + 32)
  196.     super(0, 0, 335, 40)
  197.    # self.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  198.     self.opacity = 180
  199.     @item_max = 7
  200.     @column_max = commands.size
  201.     @commands = commands
  202.     self.contents = Bitmap.new(width - 32, @item_max * 32)
  203.     self.back_opacity = 160
  204.     refresh
  205.     self.index = 0
  206.   end
  207.   def refresh
  208.     self.contents.clear
  209.     self.contents.font.size = 20
  210.     for i in 0...@column_max
  211.     draw_item(i, normal_color)
  212.     end
  213.   end
  214.   def draw_item(index, color)
  215.     self.contents.font.color = color
  216.     rect = Rect.new(32 * index,4 ,32 , self.contents.width - 8)
  217.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  218.     self.contents.draw_text(rect, @commands[index])
  219.   end
  220.   def disable_item(index)
  221.     draw_item(index, disabled_color)
  222.   end
  223. end


  224. class Window_SFX_Volume < Window_Selectable
  225.   #--------------------------------------------------------------------------
  226.   # ● 更新光标举行
  227.   #--------------------------------------------------------------------------
  228.   def update_cursor_rect
  229.     # 光标位置不满 0 的情况下
  230.     if @index < 0
  231.       self.cursor_rect.empty
  232.       return
  233.     end
  234.     # 获取当前的行
  235.     row = @index / @column_max
  236.     # 当前行被显示开头行前面的情况下
  237.     if row < self.top_row
  238.       # 从当前行向开头行滚动
  239.       self.top_row = row
  240.     end
  241.     # 当前行被显示末尾行之后的情况下
  242.     if row > self.top_row + (self.page_row_max - 1)
  243.       # 从当前行向末尾滚动
  244.       self.top_row = row - (self.page_row_max - 1)
  245.     end
  246.     # 计算光标的宽
  247.     cursor_width = 38 #600 / (@column_max + 1) - 32 - 32
  248.     # 计算光标坐标
  249.     #y = @index % @column_max * (cursor_width) + 10
  250.     #x = @index / @column_max * 32 - self.oy+270
  251.    
  252.     #==============暂加,给x,q赋值===================
  253.     x=15
  254.     q=20
  255.     #==============================================
  256.     for i in 0...(@index+1)
  257.       x= i* 38
  258.       y = 0 #i*80
  259.     # 更新光标矩形
  260.     self.cursor_rect.set(x, y, cursor_width, 20)
  261.   end
  262. end

  263.   #--------------------------------------------------------------------------
  264.   # ● 刷新画面
  265.   #--------------------------------------------------------------------------
  266.   def update
  267.     super
  268.     # 可以移动光标的情况下
  269.     if self.active and @item_max > 0 and @index >= 0
  270.       # 方向键下被按下的情况下
  271.       if Input.repeat?(Input::DOWN)
  272.         # 列数不是 1 并且方向键的下的按下状态不是重复的情况、
  273.         # 或光标位置在(项目数-列数)之前的情况下
  274.         if (@column_max == 1 and Input.trigger?(Input::DOWN)) or
  275.            @index < @item_max - @column_max
  276.           # 光标向下移动
  277.           @index = (@index + @column_max) % @item_max
  278.         end
  279.       end
  280.       # 方向键上被按下的情况下
  281.       if Input.repeat?(Input::UP)
  282.         # 列数不是 1 并且方向键的下的按下状态不是重复的情况、
  283.         # 或光标位置在列之后的情况下
  284.         if (@column_max == 1 and Input.trigger?(Input::UP)) or
  285.            @index >= @column_max
  286.           # 光标向上移动
  287.           @index = (@index - @column_max + @item_max) % @item_max
  288.         end
  289.       end
  290.       # 方向键右被按下的情况下
  291.       if Input.repeat?(Input::RIGHT)
  292.         # 列数为 2 以上并且、光标位置在(项目数 - 1)之前的情况下
  293.         if @column_max >= 2 and @index < @item_max - 1
  294.           # 光标向右移动
  295.           @index += 1
  296.         end
  297.       end
  298.       # 方向键左被按下的情况下
  299.       if Input.repeat?(Input::LEFT)
  300.         # 列数为 2 以上并且、光标位置在 0 之后的情况下
  301.         if @column_max >= 2 and @index > 0
  302.           # 光标向左移动
  303.           @index -= 1
  304.         end
  305.       end
  306.       # R 键被按下的情况下
  307.       if Input.repeat?(Input::R)
  308.         # 显示的最后行在数据中最后行上方的情况下
  309.         if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
  310.           # 光标向后移动一页
  311.           @index = [@index + self.page_item_max, @item_max - 1].min
  312.           self.top_row += self.page_row_max
  313.         end
  314.       end
  315.       # L 键被按下的情况下
  316.       if Input.repeat?(Input::L)
  317.         # 显示的开头行在位置 0 之后的情况下
  318.         if self.top_row > 0
  319.           # 光标向前移动一页
  320.          
  321.           @index = [@index - self.page_item_max, 0].max
  322.           self.top_row -= self.page_row_max
  323.         end
  324.       end
  325.     end
  326.     # 刷新帮助文本 (update_help 定义了继承目标)
  327.     if self.active and @help_window != nil
  328.       update_help
  329.     end
  330.     # 刷新光标矩形
  331.     update_cursor_rect
  332.   end
  333. end
复制代码


zzz22111于2011-8-5 10:48补充以下内容:
我已经自己解决了,多谢各位了。结贴。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 16:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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