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

Project1

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

[已经过期] 商店脚本出了一问题,请高手帮忙解决。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
跳转到指定楼层
1
发表于 2011-11-30 11:57:06 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
这些都正常显示。



但是,到了显示魔力数值的时候就不显示了。

卖东西也正常。

但是一返回,那人物的行走图会一直在那显示着。


就是这问题,请高手帮帮忙。一下是脚本。
  1. class Window_ShopStatus < Window_Base
  2.   # ---------------------------------------
  3.   def initialize
  4.     super(368, 128, 272, 352)
  5.     self.contents = Bitmap.new(width - 32, height - 32)
  6.     self.contents.font.name = "黑体"
  7.     self.contents.font.size = 24
  8.     @item = nil
  9.     @sprite1 = nil
  10.     @sprite2 = nil
  11.     @sprite3 = nil
  12.     @sprite4 = nil
  13.     @walk = [false, false, false, false]
  14.     @count = 0
  15.     refresh
  16.   end
  17.   # ---------------------------------------
  18.   def refresh
  19.     self.contents.clear
  20.     if @sprite1 != nil
  21.       @sprite1.dispose
  22.       @sprite1 = nil
  23.     end
  24.     if @sprite2 != nil
  25.       @sprite2.dispose
  26.       @sprite2 = nil
  27.     end
  28.     if @sprite3 != nil
  29.       @sprite3.dispose
  30.       @sprite3 = nil
  31.     end
  32.     if @sprite4 != nil
  33.       @sprite4.dispose
  34.       @sprite4 = nil
  35.     end
  36.     self.contents.font.name = "黑体"
  37.     self.contents.font.size = 24
  38.     if @item == nil
  39.       return
  40.     end
  41.     case @item
  42.     when RPG::Item
  43.       number = $game_party.item_number(@item.id)
  44.     when RPG::Weapon
  45.       number = $game_party.weapon_number(@item.id)
  46.     when RPG::Armor
  47.       number = $game_party.armor_number(@item.id)
  48.     end
  49.     self.contents.font.color = system_color
  50.     self.contents.draw_text(4, 0, 200, 32, "持有数量:")
  51.     self.contents.font.color = normal_color
  52.     self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
  53.     if @item.is_a?(RPG::Item)
  54.       @walk = [false, false, false, false]
  55.       return
  56.     end
  57.     for i in 0...[$game_party.actors.size,4].min
  58.       actor = $game_party.actors[i]
  59.       if @item.is_a?(RPG::Weapon)
  60.         item1 = $data_weapons[actor.weapon_id]
  61.       elsif @item.kind == 0
  62.         item1 = $data_armors[actor.armor1_id]
  63.       elsif @item.kind == 1
  64.         item1 = $data_armors[actor.armor2_id]
  65.       elsif @item.kind == 2
  66.         item1 = $data_armors[actor.armor3_id]
  67.       else
  68.         item1 = $data_armors[actor.armor4_id]
  69.       end
  70.       if not actor.equippable?(@item)
  71.         @walk[i] = false
  72.         draw_actor_graphic(actor, 380, 194 + 64 * i, i, 0)
  73.         self.contents.font.name = "黑体"
  74.         self.contents.font.size = 24
  75.         self.contents.font.color = normal_color
  76.         self.contents.draw_text(32, 54 + 64 * i, 150, 32, "无法装备此物")
  77.       end
  78.       if actor.equippable?(@item)
  79.         @walk[i] = true
  80.         draw_actor_graphic(actor, 380, 194 + 64 * i, i, 1)
  81.           atk1 = 0
  82.           atk2 = 0
  83.           eva1 = 0
  84.           eva2 = 0
  85.           str1 = 0
  86.           str2 = 0
  87.           dex1 = 0
  88.           dex2 = 0
  89.           agi1 = 0
  90.           agi2 = 0
  91.           int1 = 0
  92.           int2 = 0
  93.           pdf1 = 0
  94.           pdf2 = 0
  95.           mdf1 = 0
  96.           mdf2 = 0
  97.           eva1 = 0
  98.           eva2 = 0
  99.           str1 = item1 != nil ? item1.str_plus : 0
  100.           str2 = @item != nil ? @item.str_plus : 0
  101.           dex1 = item1 != nil ? item1.dex_plus : 0
  102.           dex2 = @item != nil ? @item.dex_plus : 0
  103.           agi1 = item1 != nil ? item1.agi_plus : 0
  104.           agi2 = @item != nil ? @item.agi_plus : 0
  105.           int1 = item1 != nil ? item1.int_plus : 0
  106.           int2 = @item != nil ? @item.int_plus : 0
  107.           pdf1 = item1 != nil ? item1.pdef : 0
  108.           pdf2 = @item != nil ? @item.pdef : 0
  109.           mdf1 = item1 != nil ? item1.mdef : 0
  110.           mdf2 = @item != nil ? @item.mdef : 0
  111.         if @item.is_a?(RPG::Weapon)
  112.           atk1 = item1 != nil ? item1.atk : 0
  113.           atk2 = @item != nil ? @item.atk : 0
  114.         end
  115.         if @item.is_a?(RPG::Armor)
  116.           eva1 = item1 != nil ? item1.eva : 0
  117.           eva2 = @item != nil ? @item.eva : 0
  118.         end
  119.         if @item.is_a?(RPG::Armor)
  120.           if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  121.             str_change = str2
  122.             dex_change = dex2
  123.             agi_change = agi2
  124.             int_change = int2
  125.             pdf_change = pdf2
  126.             mdf_change = mdf2
  127.             atk_change = atk2
  128.             eva_change = eva2
  129.           else
  130.           str_change = str2 - str1
  131.           dex_change = dex2 - dex1
  132.           agi_change = agi2 - agi1
  133.           int_change = int2 - int1
  134.           pdf_change = pdf2 - pdf1
  135.           mdf_change = mdf2 - mdf1
  136.           atk_change = atk2 - atk1
  137.           eva_change = eva2 - eva1
  138.           end
  139.         else
  140.         str_change = str2 - str1
  141.         dex_change = dex2 - dex1
  142.         agi_change = agi2 - agi1
  143.         int_change = int2 - int1
  144.         pdf_change = pdf2 - pdf1
  145.         mdf_change = mdf2 - mdf1
  146.         atk_change = atk2 - atk1
  147.         eva_change = eva2 - eva1
  148.         end
  149.         if item1 == nil
  150.           name1 = ""
  151.         else
  152.           name1 = item1.name
  153.         end
  154.         if @item == nil
  155.           name2 = ""
  156.         else
  157.           name2 = @item.name
  158.         end
  159.         if str_change == 0 && dex_change == 0 && agi_change == 0 &&
  160.         pdf_change == 0 && mdf_change == 0 && atk_change == 0 &&
  161.         eva_change == 0 && name1 != name2
  162.           self.contents.draw_text(32, 54 + 64 * i, 150, 32, "数值无变化")
  163.         elsif name1 == name2
  164.           self.contents.draw_text(32, 54 + 64 * i, 200, 32, "已经是当前装备")
  165.         else
  166.           self.contents.font.name = "黑体"
  167.           self.contents.font.size = 16
  168.           self.contents.font.color = normal_color
  169.           self.contents.draw_text(32, 42 + 64 * i, 32, 32, "攻击")
  170.           self.contents.draw_text(102, 42 + 64 * i, 32, 32, "物防")
  171.           self.contents.draw_text(172, 42 + 64 * i, 32, 32, "魔防")
  172.           self.contents.draw_text(32, 58 + 64 * i, 32, 32, "力量")
  173.           self.contents.draw_text(102, 58 + 64 * i, 32, 32, "灵巧")
  174.           self.contents.draw_text(172, 58 + 64 * i, 32, 32, "速度")
  175.           self.contents.draw_text(32, 74 + 64 * i, 32, 32, "魔力")
  176.           if atk_change > 0
  177.            # self.contents.font.color = up_color
  178.             #if @item.is_a?(RPG::Armor)
  179.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  180.                 #self.contents.font.color = disabled_color
  181.               #end
  182.             #end
  183.             s = atk_change.abs.to_s
  184.             self.contents.font.color = Color.new(0, 255, 0, 255)
  185.             self.contents.draw_text(70, 42 + 64 * i, 4, 32, "+")
  186.             self.contents.draw_text(77, 42 + 64 * i, 24, 32, s, 2)
  187.           end
  188.           if atk_change < 0
  189. #            #lor
  190.            #if @item.is_a?(RPG::Armor)
  191.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  192.                 #self.contents.font.color = disabled_color
  193.               #end
  194.             #end
  195.             s = atk_change.abs.to_s
  196.             self.contents.font.color = Color.new(255, 0, 0, 255)
  197.             self.contents.draw_text(70, 42 + 64 * i, 4, 32, "-")
  198.             self.contents.draw_text(77, 42 + 64 * i, 24, 32, s, 2)
  199.           end
  200.           if atk_change == 0
  201.             self.contents.font.color = disabled_color
  202.             self.contents.draw_text(62, 42 + 64 * i, 30, 32, "(不变)", 2)
  203.           end
  204.           if pdf_change > 0
  205.             #self.contents.font.color = up_color
  206.            #if @item.is_a?(RPG::Armor)
  207.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  208.                 #self.contents.font.color = disabled_color
  209.               #end
  210.             #end
  211.             s = pdf_change.abs.to_s
  212.             self.contents.font.color = Color.new(0, 255, 0, 255)
  213.             self.contents.draw_text(140, 42 + 64 * i, 4, 32, "+")
  214.             self.contents.draw_text(147, 42 + 64 * i, 24, 32, s, 2)
  215.           end
  216.           if pdf_change < 0
  217.             #lor
  218.            #if @item.is_a?(RPG::Armor)
  219.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  220.                 #self.contents.font.color = disabled_color
  221.               #end
  222.             #end
  223.             s = pdf_change.abs.to_s
  224.             self.contents.font.color = Color.new(255, 0, 0, 255)
  225.             self.contents.draw_text(140, 42 + 64 * i, 4, 32, "-")
  226.             self.contents.draw_text(147, 42 + 64 * i, 24, 32, s, 2)
  227.           end
  228.           if pdf_change == 0
  229.             self.contents.font.color = disabled_color
  230.             self.contents.draw_text(132, 42 + 64 * i, 30, 32, "(不变)", 2)
  231.           end
  232.           if mdf_change > 0
  233. #            self.contents.font.color = up_color
  234.           #if @item.is_a?(RPG::Armor)
  235.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  236.                 #self.contents.font.color = disabled_color
  237.               #end
  238.            #end
  239.             s = mdf_change.abs.to_s
  240.             self.contents.font.color = Color.new(0, 255, 0, 255)
  241.             self.contents.draw_text(207, 42 + 64 * i, 4, 32, "+")
  242.             self.contents.draw_text(214, 42 + 64 * i, 24, 32, s, 2)
  243.           end
  244.           if mdf_change < 0
  245.             #lor
  246.            #if @item.is_a?(RPG::Armor)
  247.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  248.                 #self.contents.font.color = disabled_color
  249.               #end
  250.             #end
  251.             s = mdf_change.abs.to_s
  252.             self.contents.font.color = Color.new(255, 0, 0, 255)
  253.             self.contents.draw_text(207, 42 + 64 * i, 4, 32, "-")
  254.             self.contents.draw_text(214, 42 + 64 * i, 24, 32, s, 2)
  255.           end
  256.           if mdf_change == 0
  257.             self.contents.font.color = disabled_color
  258.             self.contents.draw_text(202, 42 + 64 * i, 30, 32, "(不变)", 2)
  259.           end
  260.           if str_change > 0
  261.           #  self.contents.font.color = up_color
  262.            #if @item.is_a?(RPG::Armor)
  263.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  264.                 #self.contents.font.color = disabled_color
  265.               #end
  266.             #end
  267.             s = str_change.abs.to_s
  268.             self.contents.font.color = Color.new(0, 255, 0, 255)
  269.             self.contents.draw_text(70, 58 + 64 * i, 4, 32, "+")
  270.             self.contents.draw_text(77, 58 + 64 * i, 24, 32, s, 2)
  271.           end
  272.           if str_change == 0
  273.             self.contents.font.color = disabled_color
  274.             self.contents.draw_text(62, 58 + 64 * i, 30, 32, "(不变)", 2)
  275.           end
  276.          if str_change < 0
  277.             #lor
  278.            #if @item.is_a?(RPG::Armor)
  279.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  280.                 #self.contents.font.color = disabled_color
  281.               #end
  282.             #end
  283.             s = str_change.abs.to_s
  284.             self.contents.font.color = Color.new(255, 0, 0, 255)
  285.             self.contents.draw_text(70, 58 + 64 * i, 4, 32, "-")
  286.             self.contents.draw_text(77, 58 + 64 * i, 24, 32, s, 2)
  287.           end
  288.           if dex_change > 0
  289.             #self.contents.font.color = up_color
  290.            #if @item.is_a?(RPG::Armor)
  291.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  292.                 #self.contents.font.color = disabled_color
  293.               #end
  294.             #end
  295.             s = dex_change.abs.to_s
  296.             self.contents.font.color = Color.new(0, 255, 0, 255)
  297.             self.contents.draw_text(140, 58 + 64 * i, 4, 32, "+")
  298.             self.contents.draw_text(147, 58 + 64 * i, 24, 32, s, 2)
  299.           end
  300.           if dex_change == 0
  301.             self.contents.font.color = disabled_color
  302.             self.contents.draw_text(132, 58 + 64 * i, 30, 32, "(不变)", 2)
  303.           end
  304.           if dex_change < 0
  305.             #lor
  306.            #if @item.is_a?(RPG::Armor)
  307.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  308.                 #self.contents.font.color = disabled_color
  309.               #end
  310.             #end
  311.             s = dex_change.abs.to_s
  312.             self.contents.font.color = Color.new(255, 0, 0, 255)
  313.             self.contents.draw_text(140, 58 + 64 * i, 4, 32, "-")
  314.             self.contents.draw_text(147, 58 + 64 * i, 24, 32, s, 2)
  315.           end
  316.           if agi_change > 0
  317. #            self.contents.font.color = up_color
  318.            #if @item.is_a?(RPG::Armor)
  319.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  320.                 #self.contents.font.color = disabled_color
  321.               #end
  322.             #end
  323.             s = agi_change.abs.to_s
  324.             self.contents.font.color = Color.new(0, 255, 0, 255)
  325.             self.contents.draw_text(207, 58 + 64 * i, 4, 32, "+")
  326.             self.contents.draw_text(214, 58 + 64 * i, 24, 32, s, 2)
  327.           end
  328.           if agi_change == 0
  329.             self.contents.font.color = disabled_color            
  330.             self.contents.draw_text(202, 58 + 64 * i, 30, 32, "(不变)", 2)
  331.           end
  332.           if agi_change < 0
  333.             #lor
  334.            #if @item.is_a?(RPG::Armor)
  335.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  336.                 #self.contents.font.color = disabled_color
  337.               #end
  338.             #end
  339.             s = agi_change.abs.to_s
  340.             self.contents.font.color = Color.new(255, 0, 0, 255)
  341.             self.contents.draw_text(207, 58 + 64 * i, 4, 32, "-")
  342.             self.contents.draw_text(214, 58 + 64 * i, 24, 32, s, 2)
  343.           end
  344.            if int_change > 0
  345.             self.contents.font.color = up_color
  346.            #if @item.is_a?(RPG::Armor)
  347.               ##if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  348.                 #self.contents.font.color = disabled_color
  349.               #end
  350.             #end
  351.             s = int_change.abs.to_s
  352.             self.contents.draw_text(70, 74 + 64 * i, 4, 32, "+")
  353.             self.contents.draw_text(77, 74 + 64 * i, 24, 32, s, 2)
  354.           end
  355.           if int_change < 0
  356.             self.contents.font.color = down_color
  357.            #if @item.is_a?(RPG::Armor)
  358.               #if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
  359.                 #self.contents.font.color = disabled_color
  360.               #end
  361.             #end
  362.             s = int_change.abs.to_s
  363.             self.contents.draw_text(70, 74 + 64 * i, 4, 32, "-")
  364.             self.contents.draw_text(77, 74 + 64 * i, 24, 32, s, 2)
  365.           end
  366.           if int_change == 0
  367.             self.contents.font.color = disabled_color
  368.             self.contents.draw_text(62, 74 + 64 * i, 30, 32, "(不变)", 2)
  369.           end
  370.         end
  371.       end
  372.     end
  373.   end
  374.   # ---------------------------------------
  375.   def item=(item)
  376.     if @item != item
  377.       @item = item
  378.       refresh
  379.     end
  380.   end
  381.   # ---------------------------------------
  382.   def draw_actor_graphic(actor, x, y, id, tone_id)
  383.     if id == 0
  384.       @v1 = Viewport.new(380, 194, 32, 46)
  385.       @v1.z = 9998
  386.       @sprite1 = Sprite.new(@v1)
  387.       @sprite1.bitmap = RPG::Cache.character(actor.character_name,
  388.       actor.character_hue)
  389.       if tone_id == 0
  390.         @sprite1.tone = Tone.new(0, 0, 0, 255)
  391.       else
  392.         @sprite1.tone = Tone.new(0, 0, 0, 0)
  393.       end
  394.       @sprite1.visible = true
  395.     end
  396.      if id == 1
  397.       @v2 = Viewport.new(380, 258, 32, 46)
  398.       @v2.z = 9999
  399.       @sprite2 = Sprite.new(@v2)
  400.       @sprite2.bitmap = RPG::Cache.character(actor.character_name,
  401.       actor.character_hue)
  402.       if tone_id == 0
  403.         @sprite2.tone = Tone.new(0, 0, 0, 255)
  404.       else
  405.         @sprite2.tone = Tone.new(0, 0, 0, 0)
  406.       end
  407.       @sprite2.visible = true
  408.     end
  409.      if id == 2
  410.       @v3 = Viewport.new(380, 322, 32, 46)
  411.       @v3.z = 9999
  412.       @sprite3 = Sprite.new(@v3)
  413.       @sprite3.bitmap = RPG::Cache.character(actor.character_name,
  414.       actor.character_hue)
  415.       if tone_id == 0
  416.         @sprite3.tone = Tone.new(0, 0, 0, 255)
  417.       else
  418.         @sprite3.tone = Tone.new(0, 0, 0, 0)
  419.       end
  420.       @sprite3.visible = true
  421.     end
  422.     if id == 3
  423.       @v4 = Viewport.new(380, 386, 32, 46)
  424.       @v4.z = 9999
  425.       @sprite4 = Sprite.new(@v4)
  426.       @sprite4.bitmap = RPG::Cache.character(actor.character_name,
  427.       actor.character_hue)
  428.       if tone_id == 0
  429.         @sprite4.tone = Tone.new(0, 0, 0, 255)
  430.       else
  431.         @sprite4.tone = Tone.new(0, 0, 0, 0)
  432.       end
  433.       @sprite4.visible = true
  434.     end
  435.   end
  436.   # ---------------------------------------
  437.   def update
  438.     super
  439.     @count += 1
  440.     for i in [email protected]
  441.         if @walk[i] == false
  442.         case i
  443.           when 0
  444.             if @sprite1 != nil
  445.             @sprite1.ox = 0
  446.             end
  447.           when 1
  448.             if @sprite2 != nil
  449.             @sprite2.ox = 0
  450.             end
  451.           when 2
  452.             if @sprite3 != nil
  453.             @sprite3.ox = 0
  454.             end
  455.           when 3
  456.             if @sprite4 != nil
  457.             @sprite4.ox = 0
  458.             end
  459.           end
  460.         end
  461.       end
  462.     if @count == 0
  463.       for i in [email protected]
  464.         if @walk[i] == true
  465.         case i
  466.         when 0
  467.           if @sprite1 != nil
  468.           @sprite1.ox = 0
  469.           end
  470.         when 1
  471.           if @sprite2 != nil
  472.           @sprite2.ox = 0
  473.           end
  474.         when 2
  475.           if @sprite3 != nil
  476.           @sprite3.ox = 0
  477.           end
  478.         when 3
  479.           if @sprite4 != nil
  480.           @sprite4.ox = 0
  481.             end
  482.           end
  483.         end
  484.       end
  485.     end
  486.     if @count == 5
  487.       for i in [email protected]
  488.         if @walk[i] == true
  489.         case i
  490.         when 0
  491.           if @sprite1 != nil
  492.           @sprite1.ox = 32
  493.           end
  494.         when 1
  495.           if @sprite2 != nil
  496.           @sprite2.ox = 32
  497.           end
  498.         when 2
  499.           if @sprite3 != nil
  500.           @sprite3.ox = 32
  501.           end
  502.         when 3
  503.           if @sprite4 != nil
  504.           @sprite4.ox = 32
  505.             end
  506.           end
  507.         end
  508.       end
  509.     end
  510.     if @count == 10
  511.       for i in [email protected]
  512.         if @walk[i] == true
  513.           case i
  514.         when 0
  515.           if @sprite1 != nil
  516.           @sprite1.ox = 64
  517.           end
  518.         when 1
  519.           if @sprite2 != nil
  520.           @sprite2.ox = 64
  521.           end
  522.         when 2
  523.           if @sprite3 != nil
  524.           @sprite3.ox = 64
  525.           end
  526.         when 3
  527.           if @sprite4 != nil
  528.           @sprite4.ox = 64
  529.             end
  530.           end
  531.         end
  532.       end
  533.     end
  534.     if @count == 15
  535.       @count = 0
  536.     end
  537.   end
  538. end

复制代码

点评

这个脚本单独用没有任何问题,试试找找其他有关脚本的问题吧,比如Scene_shop,看有没重载过……  发表于 2011-12-4 14:19

博客:我的博客

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
5
 楼主| 发表于 2011-12-3 12:36:45 | 只看该作者
请高手帮帮忙


爆焰于2011-12-4 13:49补充以下内容:
{:4_143:}一点小小的修改而已嘛,都没人帮我,老衲不行了

点评

那至少点评说一下。  发表于 2011-12-4 13:50
要是行的话愚者早结贴了  发表于 2011-12-4 13:39
小白玩家的试了么?  发表于 2011-12-4 12:27

博客:我的博客
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
70 小时
注册时间
2010-10-16
帖子
36
4
发表于 2011-12-1 18:47:09 | 只看该作者
嗯嗯 LZ的脚本不错


ldy5297213于2011-12-2 16:36补充以下内容:
我用了小白玩家给你修改的脚本没有发生过你说的那个错误

点评

我说,不能解决问题就不要回复嘛  发表于 2011-12-1 22:49
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3852
在线时间
1582 小时
注册时间
2006-5-5
帖子
2743
3
发表于 2011-12-1 11:31:02 | 只看该作者
用这套试试?效果一样且冲突少!
  1. #==============================================================================
  2. # ■ Window_ShopStatus
  3. #------------------------------------------------------------------------------
  4. #  商店画面、显示物品所持数与角色装备的窗口。
  5. #==============================================================================
  6. class Window_ShopStatus < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(368, 128, 272, 352)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     self.contents.font.size = 16
  14.     @item = nil
  15.     refresh
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 刷新
  19.   #--------------------------------------------------------------------------
  20.   def refresh
  21.     self.contents.clear
  22.     if @item == nil
  23.       return
  24.     end
  25.     case @item
  26.     when RPG::Item
  27.       number = $game_party.item_number(@item.id)
  28.     when RPG::Weapon
  29.       number = $game_party.weapon_number(@item.id)
  30.     when RPG::Armor
  31.       number = $game_party.armor_number(@item.id)
  32.     end
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(4, 0, 200, 32, "所持数")
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
  37.     if @item.is_a?(RPG::Item)
  38.       return
  39.     end
  40.     # 添加装备品信息
  41.     for i in 0...$game_party.actors.size
  42.       # 获取角色
  43.       actor = $game_party.actors[i]
  44.       # 可以装备为普通文字颜色、不能装备设置为无效文字颜色
  45.       if actor.equippable?(@item)
  46.         self.contents.font.color = normal_color
  47.       else
  48.         self.contents.font.color = disabled_color
  49.       end
  50.       # 描绘角色名字
  51.       j = 70
  52.       self.contents.draw_text(0, 32 + j * i, 120, 32, actor.name)
  53.       # 获取当前的装备品
  54.       if @item.is_a?(RPG::Weapon)
  55.         item1 = $data_weapons[actor.weapon_id]
  56.       elsif @item.kind == 0
  57.         item1 = $data_armors[actor.armor1_id]
  58.       elsif @item.kind == 1
  59.         item1 = $data_armors[actor.armor2_id]
  60.       elsif @item.kind == 2
  61.         item1 = $data_armors[actor.armor3_id]
  62.       else
  63.         item1 = $data_armors[actor.armor4_id]
  64.       end
  65.       # 可以装备的情况
  66.       #if actor.equippable?(@item)
  67.         # 武器的情况
  68.         i += 1
  69.         if @item.is_a?(RPG::Weapon)
  70.          
  71.          
  72.          
  73.           atk1 = item1 != nil ? item1.atk : 0
  74.           atk2 = @item != nil ? @item.atk : 0
  75.          
  76.           pdef1 = item1 != nil ? item1.pdef : 0
  77.           pdef2 = @item != nil ? @item.pdef : 0
  78.          
  79.           str1 = item1 != nil ? item1.str_plus : 0
  80.           str2 = @item != nil ? @item.str_plus : 0
  81.          
  82.           dex1 = item1 != nil ? item1.dex_plus : 0
  83.           dex2 = @item != nil ? @item.dex_plus : 0
  84.          
  85.           agi1 = item1 != nil ? item1.agi_plus : 0
  86.           agi2 = @item != nil ? @item.agi_plus : 0
  87.          
  88.           int1 = item1 != nil ? item1.int_plus : 0
  89.           int2 = @item != nil ? @item.int_plus : 0
  90.          
  91.          
  92.           @atk = atk2 - atk1
  93.           @str = str2 - str1
  94.           @dex = dex2 - dex1
  95.           @agi = agi2 - agi1
  96.           @int = int2 - int1
  97.           @pdef = pdef2 - pdef1
  98.          
  99.          
  100.          
  101.          
  102.          
  103.          
  104.          
  105.         x = -16
  106.         self.contents.draw_text(80*0,        x+j * i, 112, 32,"攻击",0)
  107.         self.contents.draw_text(80*1,        x+j * i, 112, 32,"力量",0)
  108.         self.contents.draw_text(80*2,        x+j * i, 112, 32,"速度",0)
  109.         self.contents.draw_text(80*0,        x+j * i+16, 112, 32,"敏捷",0)
  110.         self.contents.draw_text(80*1,        x+j * i+16, 112, 32,"魔力",0)
  111.         self.contents.draw_text(80*2,        x+j * i+16, 112, 32,"防御",0)
  112.         
  113.         #---------------------------------------------------------------------
  114.         q=40-10
  115.         if atk2 >= atk1
  116.         self.contents.font.color = Color.new(159,251,162,255)
  117.         self.contents.draw_text(80*0+q,      x+j * i, 112, 32,"↑",0)
  118.         else
  119.         self.contents.font.color = Color.new(255,0,0,255)
  120.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↓",0)
  121.         end
  122.         #---------------------------------------------------------------------
  123.         if str2 >= str1
  124.         self.contents.font.color = Color.new(159,251,162,255)
  125.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↑",0)
  126.         else
  127.         self.contents.font.color = Color.new(255,0,0,255)
  128.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↓",0)
  129.         end
  130.         #---------------------------------------------------------------------
  131.         if dex2 >= dex1
  132.         self.contents.font.color = Color.new(159,251,162,255)
  133.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↑",0)
  134.         else
  135.         self.contents.font.color = Color.new(255,0,0,255)
  136.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↓",0)
  137.         end
  138.       
  139.         #---------------------------------------------------------------------
  140.         if agi2 >= agi1
  141.         self.contents.font.color = Color.new(159,251,162,255)
  142.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↑",0)
  143.         else
  144.         self.contents.font.color = Color.new(255,0,0,255)
  145.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↓",0)
  146.         end
  147.         #---------------------------------------------------------------------
  148.         if int2 >= int1
  149.         self.contents.font.color = Color.new(159,251,162,255)
  150.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↑",0)
  151.         else
  152.         self.contents.font.color = Color.new(255,0,0,255)
  153.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↓",0)
  154.         end
  155.         #---------------------------------------------------------------------
  156.         if pdef2 >= pdef1
  157.         self.contents.font.color = Color.new(159,251,162,255)
  158.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↑",0)
  159.         else
  160.         self.contents.font.color = Color.new(255,0,0,255)
  161.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↓",0)
  162.         end

  163.         
  164.         
  165.         
  166.         
  167.         
  168.         
  169.         #---------------------------------------------------------------------
  170.         self.contents.font.color = Color.new(159,251,162,255)
  171.         q=50
  172.         self.contents.draw_text(80*0+q,    x+j * i, 112, 32,@atk.abs.to_s,0)
  173.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,@str.abs.to_s,0)
  174.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,@dex.abs.to_s,0)
  175.         
  176.         #---------------------------------------------------------------------
  177.         self.contents.draw_text(80*0+q,     x+j * i+16, 112, 32,@agi.abs.to_s,0)
  178.         self.contents.draw_text(80*1+q,     x+j * i+16, 112, 32,@int.abs.to_s,0)
  179.         self.contents.draw_text(80*2+q,     x+j * i+16, 112, 32,@pdef.abs.to_s,0)
  180.          
  181.          
  182.          
  183.          
  184.          
  185.          
  186.          
  187.          
  188.          
  189.          
  190.          
  191.          
  192.          
  193.         end
  194.         # 防具的情况
  195.         if @item.is_a?(RPG::Armor)

  196.          
  197.          
  198.           str1 = item1 != nil ? item1.str_plus : 0
  199.           str2 = @item != nil ? @item.str_plus : 0
  200.           dex1 = item1 != nil ? item1.dex_plus : 0
  201.           dex2 = @item != nil ? @item.dex_plus : 0

  202.          
  203.           agi1 = item1 != nil ? item1.agi_plus : 0
  204.           agi2 = @item != nil ? @item.agi_plus : 0
  205.           int1 = item1 != nil ? item1.int_plus : 0
  206.           int2 = @item != nil ? @item.int_plus : 0
  207.          
  208.          
  209.          
  210.           pdef1 = item1 != nil ? item1.pdef : 0
  211.           pdef2 = @item != nil ? @item.pdef : 0
  212.           mdef1 = item1 != nil ? item1.mdef : 0
  213.           mdef2 = @item != nil ? @item.mdef : 0
  214.          
  215.          
  216.           @str  = str2 - str1
  217.           @dex  = dex2 - dex1
  218.           @agi  = agi2 - agi1
  219.           @int  = int2 - int1
  220.           @pdef = pdef2 - pdef1
  221.           @mdef = mdef2 - mdef1
  222.         x=-16  
  223.         self.contents.draw_text(80*0,        x+j * i, 112, 32,"力量",0)
  224.         self.contents.draw_text(80*1,        x+j * i, 112, 32,"速度",0)
  225.         self.contents.draw_text(80*2,        x+j * i, 112, 32,"敏捷",0)
  226.         self.contents.draw_text(80*0,        x+j * i+16, 112, 32,"魔力",0)
  227.         self.contents.draw_text(80*1,        x+j * i+16, 112, 32,"防御",0)
  228.         self.contents.draw_text(80*2,        x+j * i+16, 112, 32,"魔御",0)
  229.         
  230.         #---------------------------------------------------------------------
  231.         q=30
  232.         if str2 >= str1
  233.         self.contents.font.color = Color.new(159,251,162,255)
  234.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↑",0)
  235.         else
  236.         self.contents.font.color = Color.new(255,0,0,255)
  237.         self.contents.draw_text(80*0+q,       x+j * i, 112, 32,"↓",0)
  238.         end
  239.         #---------------------------------------------------------------------
  240.         if dex2 >= dex1
  241.         self.contents.font.color = Color.new(159,251,162,255)
  242.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↑",0)
  243.         else
  244.         self.contents.font.color = Color.new(255,0,0,255)
  245.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,"↓",0)
  246.         end
  247.         #---------------------------------------------------------------------
  248.         if agi2 >= agi1
  249.         self.contents.font.color = Color.new(159,251,162,255)
  250.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↑",0)
  251.         else
  252.         self.contents.font.color = Color.new(255,0,0,255)
  253.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,"↓",0)
  254.         end
  255.       
  256.         #---------------------------------------------------------------------
  257.         if int2 >= int1
  258.         self.contents.font.color = Color.new(159,251,162,255)
  259.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↑",0)
  260.         else
  261.         self.contents.font.color = Color.new(255,0,0,255)
  262.         self.contents.draw_text(80*0+q,       x+j * i+16, 112, 32,"↓",0)
  263.         end
  264.         #---------------------------------------------------------------------
  265.         q=40-10
  266.         if pdef2 >= pdef1
  267.         self.contents.font.color = Color.new(159,251,162,255)
  268.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↑",0)
  269.         else
  270.         self.contents.font.color = Color.new(255,0,0,255)
  271.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,"↓",0)
  272.         end
  273.         #---------------------------------------------------------------------
  274.         if mdef2 >= mdef1
  275.         self.contents.font.color = Color.new(159,251,162,255)
  276.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↑",0)
  277.         else
  278.         self.contents.font.color = Color.new(255,0,0,255)
  279.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,"↓",0)
  280.         end
  281.         
  282.         
  283.         #---------------------------------------------------------------------
  284.         self.contents.font.color = Color.new(159,251,162,255)
  285.         q=50
  286.         self.contents.draw_text(80*0+q,     x+j * i, 112, 32,@str.abs.to_s,0)
  287.         self.contents.draw_text(80*1+q,    x+j * i, 112, 32,@dex.abs.to_s,0)
  288.         self.contents.draw_text(80*2+q,    x+j * i, 112, 32,@agi.abs.to_s,0)
  289.         
  290.         #---------------------------------------------------------------------
  291.         self.contents.draw_text(80*0+q,     x+j * i+16, 112, 32,@int.abs.to_s,0)
  292.         self.contents.draw_text(80*1+q,       x+j * i+16, 112, 32,@pdef.abs.to_s,0)
  293.         self.contents.draw_text(80*2+q,       x+j * i+16, 112, 32,@mdef.abs.to_s,0)
  294.         end
  295.         end
  296.         
  297.         
  298.         
  299.         
  300.       self.contents.font.color = normal_color
  301.       i -= 1
  302.       #self.contents.font.size = 22
  303.       # 描绘物品
  304.       if item1 != nil
  305.         x = 4
  306.         y = 64 + 64 * i + 32
  307.         #bitmap = RPG::Cache.icon(item1.icon_name)
  308.         #opacity = self.contents.font.color == normal_color ? 255 : 128
  309.         #self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  310.         #self.contents.draw_text(x + 28, y, 212, 32, item1.name)
  311.       end
  312.     end
  313.   #end
  314.   #--------------------------------------------------------------------------
  315.   # ● 设置物品
  316.   #     item : 新的物品
  317.   #--------------------------------------------------------------------------
  318.   def item=(item)
  319.     if @item != item
  320.       @item = item
  321.       refresh
  322.     end
  323.   end
  324. end
复制代码

点评

谢谢,这个愚者有了,但是愚者不喜欢这个风格的  发表于 2011-12-1 16:18
这个连人物图都没有。。。。  发表于 2011-12-1 14:22
步兵中尉
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
2
发表于 2011-11-30 12:17:06 | 只看该作者
本帖最后由 小白玩家 于 2011-11-30 12:31 编辑

345行self.contents.font.color = up_color
#            self.contents.font.color = up_color
#号掉了,加个#回去
残留的问题,按退出商店会消失掉的,没什么关系吧
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 03:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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