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

Project1

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

[已经解决] 关于两种装备栏的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
跳转到指定楼层
受到警告 1
发表于 2011-9-29 16:11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 木许许 于 2011-9-29 16:14 编辑

如下面的脚本,当角色编号大于10,我定义了新的装备栏,希望把armor2、armor3、armor4去掉,但是直接去掉装备显示就不正常,应该怎么改?

  def refresh
    if @actor.id < 11  # 编号10以前的角色都是常规装备
      self.contents.clear
      @data = []
      @data.push($data_weapons[@actor.weapon_id])
      # --- ここから変更部分 ---
      @data.push(@actor.weapon2_id != 0 ? $data_weapons[@actor.weapon2_id] : $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])
      @item_max = @data.size
      self.contents.font.color = system_color   
      self.contents.draw_text(4, 32 * 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, "法宝")
   
      draw_item_name(@data[0], 92, 32 * 0)
      draw_item_name(@data[1], 92, 32 * 1)
      draw_item_name(@data[2], 92, 32 * 2)
      draw_item_name(@data[3], 92, 32 * 3)
      draw_item_name(@data[4], 92, 32 * 4)
      draw_item_name(@data[5], 92, 32 * 5)
    else  # 编号11以后的角色都是宠物装备
      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])
      @item_max = @data.size
      self.contents.font.color = system_color
      self.contents.draw_text(4, 32 * 0, 92, 32, "灵符1")
      self.contents.draw_text(4, 32 * 1, 92, 32, "灵符2")
      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, "法宝")

      draw_item_name(@data[0], 92, 32 * 0)
      draw_item_name(@data[1], 92, 32 * 1)
      draw_item_name(@data[2], 92, 32 * 2)
      draw_item_name(@data[3], 92, 32 * 3)
      draw_item_name(@data[4], 92, 32 * 4)
      draw_item_name(@data[5], 92, 32 * 5)
     end
  end
end

Lv2.观梦者

(?????)

梦石
0
星屑
729
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

2
发表于 2011-9-29 22:11:04 | 只看该作者
结尾的
  1.       draw_item_name(@data[2], 92, 32 * 2)
  2.       draw_item_name(@data[3], 92, 32 * 3)
  3.       draw_item_name(@data[4], 92, 32 * 4)
复制代码
这些看你没变红,是没去掉么?注释掉看看。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
3
 楼主| 发表于 2011-9-30 08:54:00 | 只看该作者
本帖最后由 木许许 于 2011-9-30 08:55 编辑
各种压力的猫君 发表于 2011-9-29 22:11
结尾的这些看你没变红,是没去掉么?注释掉看看。


如果结尾的三行也去掉,装备窗口右边的光标就根本移不到最下面的第六行装备栏,只能移到第三行的空白栏
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
4
 楼主| 发表于 2011-9-30 09:39:08 | 只看该作者
本帖最后由 木许许 于 2011-9-30 10:07 编辑
Linki_Shy 发表于 2011-9-30 08:57
试试


改成这样,第三行显示的可装备种类变成了armor2的头部防具,而且装备上以后显示的防具是空白
  1.       self.contents.clear
  2.       @data = []
  3.       @data.push($data_weapons[@actor.weapon_id])
  4.       @data.push($data_armors[@actor.armor1_id])
  5.       @data.push($data_armors[@actor.armor5_id])

  6.       @item_max = @data.size
  7.       self.contents.draw_text(4, 32 * 0, 92, 32, "灵符1")
  8.       self.contents.draw_text(4, 32 * 1, 92, 32, "灵符2")
  9.       self.contents.draw_text(4, 32 * 2, 92, 32, "法宝")

  10.       draw_item_name(@data[0], 92, 32 * 0)
  11.       draw_item_name(@data[1], 92, 32 * 1)
  12.       draw_item_name(@data[5], 92, 32 * 2)
复制代码
改成下面这样,光标只能停在第一行的装备栏上,下不去了!
  1.       self.contents.clear
  2.       @data = []
  3.       @data.push($data_weapons[@actor.weapon_id])
  4.       @data.push($data_armors[@actor.armor1_id])
  5.       @data.push($data_armors[@actor.armor5_id])

  6.       self.contents.draw_text(4, 32 * 0, 92, 32, "灵符1")
  7.       self.contents.draw_text(4, 32 * 1, 92, 32, "灵符2")
  8.       self.contents.draw_text(4, 32 * 2, 92, 32, "法宝")

  9.       draw_item_name(@data[0], 92, 32 * 0)
  10.       draw_item_name(@data[1], 92, 32 * 1)
  11.       draw_item_name(@data[5], 92, 32 * 2)
复制代码
���
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2009-4-11
帖子
21
5
发表于 2011-9-30 10:44:18 | 只看该作者
  1. self.contents.clear
  2. @data = []
  3. @data.push($data_weapons[@actor.weapon_id])
  4. @data.push($data_armors[@actor.armor1_id])
  5. @data.push($data_armors[@actor.armor5_id])

  6. @item_max = @data.size
  7. self.contents.draw_text(4, 32 * 0, 92, 32, "灵符1")
  8. self.contents.draw_text(4, 32 * 1, 92, 32, "灵符2")
  9. self.contents.draw_text(4, 32 * 2, 92, 32, "法宝")
  10. draw_item_name(@data[0], 92, 32 * 0)
  11. draw_item_name(@data[1], 92, 32 * 1)
  12. draw_item_name(@data[2], 92, 32 * 2)
复制代码
f
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
6
 楼主| 发表于 2011-9-30 10:52:45 | 只看该作者
zjy807 发表于 2011-9-30 10:44

改成这样,第三行显示的可装备种类变成了armor2的头部防具,而且装备上以后显示的防具是空白,其中”法宝“栏是扩展防具armor5
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2009-4-11
帖子
21
7
发表于 2011-9-30 19:02:18 | 只看该作者
本帖最后由 zjy807 于 2011-9-30 19:14 编辑

Scene_Equip里的下面二段改掉
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新
  3.   #--------------------------------------------------------------------------
  4.   def refresh
  5.     # 设置物品窗口的可视状态
  6.     @item_window1.visible = (@right_window.index == 0)
  7.     @item_window2.visible = (@right_window.index == 1)
  8.     @item_window3.visible = (@right_window.index == 2)
  9.     @item_window4.visible = (@right_window.index == 3)
  10.     @item_window5.visible = (@right_window.index == 4)
  11.     # 获取当前装备中的物品
  12.     item1 = @right_window.item
  13.     # 设置当前的物品窗口到 @item_window
  14.     case @right_window.index
  15.     when 0
  16.       @item_window = @item_window1
  17.     when 1
  18.       @item_window = @item_window2
  19.     when 2
  20.       if @actor.id <11
  21.       @item_window = @item_window3
  22.       else
  23.          @item_window = @item_window5
  24.          @item_window3.visible = false
  25.          @item_window5.visible = true
  26.       end
  27.     when 3
  28.       @item_window = @item_window4
  29.     when 4
  30.       @item_window = @item_window5
  31.     end
  32.     # 右窗口被激活的情况下
  33.     if @right_window.active
  34.       # 删除变更装备后的能力
  35.       @left_window.set_new_parameters(nil, nil, nil)
  36.     end
  37.     # 物品窗口被激活的情况下
  38.     if @item_window.active
  39.       # 获取现在选中的物品
  40.       item2 = @item_window.item
  41.       # 变更装备
  42.       last_hp = @actor.hp
  43.       last_sp = @actor.sp
  44.       if @actor.id < 11
  45.          @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
  46.        else
  47.          if @right_window.index<2
  48.             @actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
  49.           else
  50.             @actor.equip(4, item2 == nil ? 0 : item2.id)
  51.          end   
  52.       end
  53.       #@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
  54.       # 获取变更装备后的能力值
  55.       new_atk = @actor.atk
  56.       new_pdef = @actor.pdef
  57.       new_mdef = @actor.mdef
  58.       # 返回到装备
  59.       if @actor.id < 11
  60.          @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
  61.        else
  62.          if @right_window.index<2
  63.             @actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
  64.           else
  65.             @actor.equip(4, item1 == nil ? 0 : item1.id)
  66.          end   
  67.       end
  68.       #@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
  69.       @actor.hp = last_hp
  70.       @actor.sp = last_sp
  71.       # 描画左窗口
  72.       @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
  73.     end
  74.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新画面 (物品窗口被激活的情况下)
  3.   #--------------------------------------------------------------------------
  4.   def update_item
  5.     # 按下 B 键的情况下
  6.     if Input.trigger?(Input::B)
  7.       # 演奏取消 SE
  8.       $game_system.se_play($data_system.cancel_se)
  9.       # 激活右侧窗口
  10.       @right_window.active = true
  11.       @item_window.active = false
  12.       @item_window.index = -1
  13.       return
  14.     end
  15.     # 按下 C 键的情况下
  16.     if Input.trigger?(Input::C)
  17.       # 演奏装备 SE
  18.       $game_system.se_play($data_system.equip_se)
  19.       # 获取物品窗口现在选择的装备数据
  20.       item = @item_window.item
  21.       # 变更装备
  22.       if @actor.id < 11
  23.          @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  24.        else
  25.          if @right_window.index<2
  26.             @actor.equip(@right_window.index, item == nil ? 0 : item.id)
  27.           else
  28.             @actor.equip(4, item == nil ? 0 : item.id)
  29.          end   
  30.       end
  31.       # 激活右侧窗口
  32.       @right_window.active = true
  33.       @item_window.active = false
  34.       @item_window.index = -1
  35.       # 再生成右侧窗口、物品窗口的内容
  36.       @right_window.refresh
  37.       @item_window.refresh
  38.       return
  39.     end
  40.   end
复制代码
f
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
8
 楼主| 发表于 2011-10-6 07:59:38 | 只看该作者
zjy807 发表于 2011-9-30 19:02
Scene_Equip里的下面二段改掉

试过了,这样也不行啊
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
41 小时
注册时间
2009-4-11
帖子
21
9
发表于 2011-10-6 09:21:18 | 只看该作者
本帖最后由 zjy807 于 2011-10-6 09:22 编辑

试着自己改改呀,那里显示不了,就去看显示那里怎么写的,改着改着也就会了嘛。

Project4.rar (198.76 KB, 下载次数: 33)

搜#reset是改过的地方
f
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
10
 楼主| 发表于 2011-10-6 10:46:19 | 只看该作者
本帖最后由 木许许 于 2011-10-6 10:47 编辑
zjy807 发表于 2011-10-6 09:21
试着自己改改呀,那里显示不了,就去看显示那里怎么写的,改着改着也就会了嘛。


~~谢谢了
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 09:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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