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

Project1

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

如何添加“卸下装备”的字样?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2007-8-1
帖子
243
跳转到指定楼层
1
发表于 2008-9-14 19:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是在装备栏中,当你想卸下武器时,在下方的装备物品栏(Window_EquipItem)中空白处显示该字样。
我曾经试过:
    case item
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    when nil
      self.contents.font.size = 18
      draw_text_normal(x + 32, y, 184, 32, "卸下装备", 0)
      return
    end
但没显示出来,谁能指教一下。
版务信息:本贴由楼主自主结贴~
努力!奋斗!这次无论如何都要实现菜单动态化,燃烧吧,我的斗志!!!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2007-7-14
帖子
2746
2
发表于 2008-9-14 19:25:25 | 只看该作者
使用这个http://rpg.blue/upload_program/files/菜单_101592122.rar

看里面的装备部分,有缺下装备功能~~~虽然与LZ所说不同
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2007-8-1
帖子
243
3
 楼主| 发表于 2008-9-14 20:47:17 | 只看该作者
请问在哪一段,我找了半天没找到.
努力!奋斗!这次无论如何都要实现菜单动态化,燃烧吧,我的斗志!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
192 小时
注册时间
2007-7-14
帖子
2746
4
发表于 2008-9-14 20:52:37 | 只看该作者
搞错了,不过里面的装备界面就可以啊~~~抱歉,我脑筋突然死了~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2007-8-1
帖子
243
5
 楼主| 发表于 2008-9-14 20:55:19 | 只看该作者
没关系
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2008-9-14 20:55:44 | 只看该作者
即插脚本
  1. #==============================================================================
  2. # ■ Window_EquipItem
  3. #------------------------------------------------------------------------------
  4. #  装备画面、显示浏览变更装备的候补物品的窗口。
  5. #==============================================================================

  6. class Window_EquipItem < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 刷新
  9.   #--------------------------------------------------------------------------
  10.   def refresh
  11.     if self.contents != nil
  12.       self.contents.dispose
  13.       self.contents = nil
  14.     end
  15.     @data = []
  16.     # 添加可以装备的武器
  17.     if @equip_type == 0
  18.       weapon_set = $data_classes[@actor.class_id].weapon_set
  19.       for i in 1...$data_weapons.size
  20.         if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
  21.           @data.push($data_weapons[i])
  22.         end
  23.       end
  24.     end
  25.     # 添加可以装备的防具
  26.     if @equip_type != 0
  27.       armor_set = $data_classes[@actor.class_id].armor_set
  28.       for i in 1...$data_armors.size
  29.         if $game_party.armor_number(i) > 0 and armor_set.include?(i)
  30.           if $data_armors[i].kind == @equip_type-1
  31.             @data.push($data_armors[i])
  32.           end
  33.         end
  34.       end
  35.     end
  36.     # 添加空白
  37.     @data.push(nil)
  38.     # 生成位图、描绘全部项目
  39.     @item_max = @data.size
  40.     self.contents = Bitmap.new(width - 32, row_max * 32)
  41.     for i in 0...@item_max
  42.       draw_item(i)
  43.     end
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 项目的描绘
  47.   #     index : 项目符号
  48.   #--------------------------------------------------------------------------
  49.   def draw_item(index)
  50.     item = @data[index]
  51.     x = 4 + index % 2 * (288 + 32)
  52.     y = index / 2 * 32
  53.     if item == nil
  54.       self.contents.font.color = normal_color
  55.       self.contents.draw_text(x + 22, y, 212, 32, "[卸下装备]", 0)
  56.       return
  57.     end
  58.     case item
  59.     when RPG::Weapon
  60.       number = $game_party.weapon_number(item.id)
  61.     when RPG::Armor
  62.       number = $game_party.armor_number(item.id)
  63.     end
  64.     bitmap = RPG::Cache.icon(item.icon_name)
  65.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  66.     self.contents.font.color = normal_color
  67.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  68.     self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
  69.     self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  70.   end
  71. end
复制代码

之所以要修改refresh请注意最后那个for的异同
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2007-8-1
帖子
243
7
 楼主| 发表于 2008-9-14 21:10:23 | 只看该作者
哦,原来是这样添加啊,我还有一个问题不解,就是
为什么要把   for i in 0...@item_max 后面那个 -1 给去掉?望
LS能给点解答。
努力!奋斗!这次无论如何都要实现菜单动态化,燃烧吧,我的斗志!!!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

8
发表于 2008-9-14 21:14:10 | 只看该作者
为什么啊,你看那个draw_item对index采取完全信任制度(不做任何检查)
这是为什么?原因很简单:
看refresh的这一段(最后面)
  1.    # 添加空白
  2.    @data.push(nil)
  3.    # 生成位图、描绘全部项目
  4.    @item_max = @data.size
  5.    self.contents = Bitmap.new(width - 32, row_max * 32)
  6.    for i in 0...@item_max-1
  7.      draw_item(i)
  8.    end
  9. end
复制代码

在data里面冲进了一个nil,并且把selectable的项目数也设置成了包含nil的数量,Bitmap也设置了,但是那个-1恰恰河蟹掉了nil(卸下装备)!!换言之,“卸下装备”完全没有经过draw_item,直接被跳过了!
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2007-8-1
帖子
243
9
 楼主| 发表于 2008-9-14 21:24:49 | 只看该作者
原来如此,我明白了,多谢IamI!
努力!奋斗!这次无论如何都要实现菜单动态化,燃烧吧,我的斗志!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-24 05:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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