Project1

标题: 求助~~~道具菜单新添窗口问题~~~~ [打印本页]

作者: 灯笼菜刀王    时间: 2008-7-30 00:59
标题: 求助~~~道具菜单新添窗口问题~~~~
  1. module RPG
  2. class Item
  3.     def name
  4.       name = @name.split(/@/)[0]
  5.       return name != nil ? name : ''
  6.     end
  7.     def pic_name
  8.       pic_name = @name.split(/@/)[1]
  9.       return pic_name != nil ? pic_name : ""
  10.     end
  11.   end
  12. class Window_Itempic < Window_Base
  13. def initalize
  14.    super(0,0,320,416)
  15.    self.contents = Bitmap.new(width-32, height-32)
  16.   end
  17. def set_item(item)
  18.    if item != @item
  19.      self.contents.clear
  20.      bitmap = RPG::Cache.picture(@item.pic_name)
  21.      pic_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  22.      self.contents.blt(0, 0, bitmap, pic_rect)
  23.      @item = item
  24.    end
  25.    self.visible = true
  26. end
  27. end
复制代码


上面这个是我模仿亿万星辰前辈写的一个脚本,作用是让道具可以显示大图。(亿万前辈的原脚本http://rpg.blue/web/htm/news279.htm

写了后,在Scene_Item中使用, @item_tu = Window_Itempic.new 有释放也有刷新。
但是测试的时候,一打开物品栏就出现 wrong number of arguments(0 for 4)  = =

我郁闷了,连 @item_tu = Window_Gold.new 都会出现wrong number of arguments(0 for 4)~

难道是Scene_Item不让添加窗口嘛....或者,我这样写错在哪里呢?望指教...
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 薄荷冰水    时间: 2008-7-30 01:08
{/gg}貌似菜刀在努力完成我发的任务.....纯水...(PIA~)
作者: 灯笼菜刀王    时间: 2008-7-30 01:11
以下引用陈安于2008-7-29 17:08:47的发言:

貌似菜刀在努力完成我发的任务.....纯水...(PIA~)


= =我原来以为很简单的,其实也是,窗口不难写,只是在调用的时候它不让我调用这个窗口~~~~或者说,它什么窗口都不让我调用- -,如果是这样,那我就没办法了~~~
作者: dbshy    时间: 2008-7-30 01:12
传工程上来,鬼知道你在Scene_Item中乱写了什么
作者: 薄荷冰水    时间: 2008-7-30 01:18
{/bz}是不是疏忽了一点什么地方?.....

我也不懂.....一开始我把任务难度调2星的...被斑竹调为1星....


貌似不是在Scene_Item里修改的吧...
我看了看亿万前辈的脚本
好多什么主处理什么的..
亿万前辈的脚本是直接插在Main前的...如果我说错了,请54我的存在.....


   # 生成窗口
    @help_window = Window_Help.new
    @left_window = Window_EquipLeft.new(@actor)
    @right_window = Window_EquipRight.new(@actor)
    @item_window1 = Window_EquipItem.new(@actor, 0)
    @item_window2 = Window_EquipItem.new(@actor, 1)
    @item_window3 = Window_EquipItem.new(@actor, 2)
    @item_window4 = Window_EquipItem.new(@actor, 3)
    @item_window5 = Window_EquipItem.new(@actor, 4)
    # 关联帮助窗口
    @right_window.help_window = @help_window
    @item_window1.help_window = @help_window
    @item_window2.help_window = @help_window
    @item_window3.help_window = @help_window
    @item_window4.help_window = @help_window
    @item_window5.help_window = @help_window
    # 设置光标位置
    @right_window.index = @equip_index
    ##############
    @equip_window = Window_Equip.new
    ##############
    refresh
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面切换的话的就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @help_window.dispose
    @left_window.dispose
    @right_window.dispose
    @item_window1.dispose
    @item_window2.dispose
    @item_window3.dispose
    @item_window4.dispose
    @item_window5.dispose
    ##############
    @equip_window.dispose
    ##############
  end
要不要这样呢?

我不班门弄斧了.....最多就是自己改一下坐标..{/gg}
作者: 灯笼菜刀王    时间: 2008-7-30 01:21
以下引用dbshy于2008-7-29 17:12:51的发言:

传工程上来,鬼知道你在Scene_Item中乱写了什么


我承认是乱了点{/hx} 因为我习惯测试可以使用后再调整效果和相关的注释。{/hx} 请慢慢看{/hx}

http://rpg.blue/upload_program/files/zb+djdt_97780741.rar

貌似不是在Scene_Item里修改的吧...


除非你不要在道具菜单显示,否则是一定要在Scene_Item里改的 - -,要不,换成在商店里买才能看到大图要不要?
作者: dbshy    时间: 2008-7-30 01:29
PIA飞LZ

initalize
你写错了
该为initialize [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 薄荷冰水    时间: 2008-7-30 01:29
以下引用灯笼菜刀王于2008-7-29 17:21:23的发言:




貌似不是在Scene_Item里修改的吧...


除非你不要在道具菜单显示,否则是一定要在Scene_Item里改的 - -,要不,换成在商店里买才能看到大图要不要?


[本贴由作者于 2008-7-29 17:23:37 最后编辑]



{/hx}谢谢了.....还是在菜单里最好..........

你打少了个i....

作者: 灯笼菜刀王    时间: 2008-7-30 01:47
以下引用dbshy于2008-7-29 17:29:31的发言:

PIA飞LZ

initalize
你写错了
该为initialize


[本贴由作者于 2008-7-29 17:31:57 最后编辑]


囧....昨天已经被秀秀PIA飞一次了...重新写又没写对......

不过,没效果哎~~图显示不出来~~难道我理解错了= =,重新研究看看去...谢谢了~~
作者: IamI    时间: 2008-7-30 02:21
LZ的脚本看了许久,陷入一片茫然= =
窗口 Window_Itempic根本没有重定义update方法,等于说Scene_Item一直在执行原来的一个空壳Update……强烈建议将set和update分开……
(原脚本是,窗口一直在刷新,只是set给了窗口一个图片名而已)
作者: 灯笼菜刀王    时间: 2008-7-30 02:26
以下引用IamI于2008-7-29 18:21:00的发言:

LZ的脚本看了许久,陷入一片茫然= =
窗口 Window_Itempic根本没有重定义update方法,等于说Scene_Item一直在执行原来的一个空壳Update……强烈建议将set和update分开……
(原脚本是,窗口一直在刷新,只是set给了窗口一个图片名而已)


难怪没有效果,正找看看有没有什么相同效果的脚本来抄一抄= =,谢谢IamI的建议,我试试~~
上面的这个脚本我是模仿HELP写的~~它都是刷新全窗口= =~~
作者: zl90349166    时间: 2008-7-30 03:19
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1