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

Project1

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

[已经解决] 怎么在不同的窗口使用不同的皮肤

[复制链接]

Lv1.梦旅人

梦石
0
星屑
70
在线时间
275 小时
注册时间
2008-10-22
帖子
205
跳转到指定楼层
1
 楼主| 发表于 2013-2-22 08:40:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 u566 于 2013-2-22 20:26 编辑

我一直在想仿梦幻做一个游戏,而梦幻里不同的窗口使用了不同的皮肤。所以我想在RM上尝试一下。
我新建了一个超级类Window_Base_2
把里面的@windowskin_name = $game_system.windowskin_name
替换成了@windowskin_name = "001-Blue01"
然后再把所有想要换皮肤的窗口的< Window_Base改为< Window_Base_2
这在某一个外挂脚本中成功了,但在动态详尽帮助里失败了

做了上述修改之后,帮助窗口的皮肤只是闪了一下,又回到了原来的皮肤

这是怎么回事求解答
注:在装备窗口中没有这个问题,只有在物品窗口和技能窗口里有

附帮助窗口脚本
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. #  特技及物品的说明、角色的状态显示的窗口。
  5. #   若要更改属性,请搜索element_set={1=>"火",2=>"冰",3=>"光",4=>"暗"} 改成对应属性即可
  6. #==============================================================================

  7. UNSHOW_STATE=[1,2,3,4,5]#记录不显示的状态数组
  8. UNSHOW_ELEMENT=[1,2,3,4,5]#记录不显示的属性数组

  9. class Window_Help < Window_Base_2
  10.   #--------------------------------------------------------------------------
  11.   # ● 初始化对像
  12.   #--------------------------------------------------------------------------
  13.   def initialize
  14.     super(150,200, 180, 480)
  15.     self.opacity = 150
  16.     self.z = 150
  17.     self.visible = false
  18.     self.contents = Bitmap.new(width - 32, height - 32)
  19.     description=""
  20.     @item=nil
  21.     @armor=nil
  22.     @weapon=nil
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 设置文本
  26.   #     text  : 窗口显示的字符串
  27.   #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  28.   #--------------------------------------------------------------------------
  29.   def set_text(data, align=nil)
  30.     # 如果文本和对齐方式的至少一方与上次的不同
  31.     if align != nil
  32.         # 再描绘窗口和文本
  33.       self.width = 640
  34.       self.height = 128
  35.       self.x=0
  36.       self.y=0
  37.       self.contents = Bitmap.new(width - 32, height - 32)
  38.       self.contents.clear
  39.       self.contents.font.color = normal_color
  40.       self.contents.font.size = 20
  41.       self.contents.draw_text(4, 0, self.width - 48, 32, data, align)
  42.       self.visible = true
  43.       return
  44.     end
  45.     if data == nil
  46.       self.visible = false
  47.       @data = nil
  48.     end
  49.     if data != nil && @data != data
  50.       @data=data
  51.       self.visible = true
  52.       self.width = 180
  53.       self.height = 200
  54.       self.x=180
  55.       self.y=430
  56.       self.contents = Bitmap.new(width - 32, height - 32)
  57.       case @data
  58.       when RPG::Item
  59.         set_item_text(@data)
  60.       when RPG::Weapon
  61.         set_weapon_text(@data)
  62.       when RPG::Armor
  63.         set_armor_text(@data)
  64.       when RPG::Skill
  65.         set_skill_text(@data)
  66.       end
  67.     else
  68.       return
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 设置敌人
  73.   #     enemy : 要显示名字和状态的敌人
  74.   #--------------------------------------------------------------------------
  75.   def set_enemy(enemy)
  76.     text = enemy.name
  77.     state_text = make_battler_state_text(enemy, 0, false)
  78.     if state_text != ""
  79.       text += "  " + state_text
  80.     end
  81.     set_text(text, 1)
  82.     @data=nil
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # ● 设置角色
  86.   #     actor : 要显示状态的角色
  87.   #--------------------------------------------------------------------------
  88.   def set_actor(actor)
  89.     if actor != @actor
  90.         self.width = 640
  91.         self.height = 64
  92.         self.x=0
  93.         self.y=0
  94.         self.contents = Bitmap.new(width - 32, height - 32)
  95.         self.contents.clear
  96.         self.contents.font.size=20
  97.         self.contents.font.color = normal_color
  98.       draw_actor_name(actor, 4, 0)
  99.       draw_actor_state(actor, 140, 0)
  100.       draw_actor_hp(actor, 284, 0)
  101.       draw_actor_sp(actor, 460, 0)
  102.       [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  103.       @text = nil
  104.       self.visible = true
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 校正帮助窗口位置
  109.   #--------------------------------------------------------------------------
  110.   def set_pos(x,y,width,oy,index,column_max)
  111.     #光标坐标
  112.     cursor_width = width / column_max - 32
  113.     xx = index % column_max * (cursor_width + 32)
  114.     yy = index / column_max * 32 - oy
  115.     self.x=xx+x+150
  116.     self.y=yy+y+30
  117.     if self.x+self.width>640
  118.       self.x=640-self.width
  119.     end
  120.     if self.y+self.height>480
  121.       self.y=480-self.height
  122.     end  
  123.   end
  124. end


  125. class Window_Help < Window_Base_2
  126.   #--------------------------------------------------------------------------
  127.   # ● 物品帮助窗口
  128.   #--------------------------------------------------------------------------
  129.   def set_item_text(item)
  130.     @item=item
  131.     description=""
  132.     [email protected]
  133.     x=0
  134.     y=0
  135.        # 取得屬性、附加狀態、解除狀態之副本
  136.    element_set = @item.element_set.clone
  137.    plus_state_set = @item.plus_state_set.clone
  138.    minus_state_set = @item.minus_state_set.clone
  139.    # 過濾不顯示的描述
  140.    element_set -= UNSHOW_ELEMENT
  141.    plus_state_set -= UNSHOW_STATE
  142.    minus_state_set -= UNSHOW_STATE
  143.     height=1     #依要显示的内容确定高
  144.     #由描叙确定高
  145.     height+=description.size/3/10
  146.     if description.size%10!=0
  147.       height+=1
  148.     end
  149.     height+=3  #空行,效果范围,价格
  150.     if @item.recover_hp_rate !=0 #HP 回复率。
  151.       height+=1
  152.     end   
  153.     if @item.recover_hp !=0 #HP 回复量。
  154.       height+=1
  155.     end
  156.     if @item.recover_sp_rate!=0 #SP 回复率。
  157.       height+=1
  158.     end
  159.     if @item.recover_sp !=0 #SP 回复量。
  160.       height+=1
  161.     end
  162.     if @item.parameter_type !=0 #增加能力值
  163.       height+=1
  164.     end      
  165.     if element_set.empty? !=true  #属性。为属性 ID 的数组
  166.       height+=1
  167.     end
  168.     if plus_state_set.empty? !=true  #附加状态。为状态 ID 的数组
  169.       height+=plus_state_set.size  
  170.     end
  171.     if minus_state_set.empty? !=true  #解除状态。为状态 ID 的数组
  172.       height+=minus_state_set.size   
  173.     end     
  174.     self.height=height*15+40+15   
  175.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  176.     self.contents.clear
  177.     #描绘名字
  178.     [email protected]
  179.     self.contents.font.color =text_color(3)
  180.     self.contents.font.size=18
  181.     if text!=nil
  182.       self.visible = true
  183.       self.contents.draw_text(0,0, @item.name.size*7, 20, text, 0)
  184.     else
  185.       self.visible = false
  186.     end
  187.     x=0
  188.     y+=1
  189.     text=description
  190.     #描绘描叙
  191.     while ((text = description.slice!(/./m)) != nil)
  192.       self.contents.font.color = normal_color
  193.       self.contents.font.size=14
  194.       self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
  195.       x+=1
  196.       if x==10#每行10个字
  197.         x=0
  198.         y+=1      
  199.       end
  200.     end
  201.     #由特技属性确定高
  202.     #效果范围
  203.     scope = {0=>"特殊物品",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表
  204.     text="范围:"+scope[@item.scope]
  205.     x=0
  206.     y+=2  #空一行
  207.     self.contents.font.color = normal_color
  208.     self.contents.font.size=14
  209.     self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  210.     #价格
  211.       x=0
  212.       y+=1      
  213.       text="价格:"[email protected]_s
  214.       self.contents.font.color = normal_color
  215.       self.contents.font.size=14   
  216.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  217.    
  218.     #HP 回复率   
  219.     if @item.recover_hp_rate!=0
  220.       x=0
  221.       y+=1      
  222.       text="回复气血:"[email protected]_hp_rate.to_s+"%"
  223.       self.contents.font.color = normal_color
  224.       self.contents.font.size=14   
  225.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)      
  226.     end
  227.     #HP回复量
  228.     if @item.recover_hp!=0
  229.       x=0
  230.       y+=1      
  231.       text="回复气血:"[email protected]_hp.to_s
  232.       self.contents.font.color = normal_color
  233.       self.contents.font.size=14   
  234.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  235.     end
  236.      #SP 回复率
  237.     if @item.recover_sp_rate!=0
  238.       x=0
  239.       y+=1      
  240.       text="回复魔法:"[email protected]_sp_rate.to_s+"%"
  241.       self.contents.font.color = normal_color
  242.       self.contents.font.size=14   
  243.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  244.     end
  245.     #SP 回复量
  246.     if @item.recover_sp!=0
  247.       x=0
  248.       y+=1      
  249.       text="回复魔法:"[email protected]_sp.to_s
  250.       self.contents.font.color = normal_color
  251.       self.contents.font.size=14   
  252.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  253.     end
  254.     #增加能力值
  255.     if @item.parameter_type!=0
  256.       parameter_type={1=>"最大气血",2=>"最大魔法",3=>$data_system.words.str,4=>$data_system.words.dex,5=>$data_system.words.agi,6=>$data_system.words.int}
  257.       x=0
  258.       y+=1
  259.       if @item.parameter_points>0
  260.         text="增加:"+parameter_type[@item.parameter_type]+" +"[email protected]_points.to_s
  261.       else
  262.         text="减少:"+parameter_type[@item.parameter_type][email protected]_points.to_s
  263.       end
  264.       self.contents.font.color = normal_color
  265.       self.contents.font.size=14   
  266.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  267.     end      
  268.    
  269.     #物品属性   
  270.     if element_set.empty? !=true  #属性。为属性 ID 的数组
  271.       text="属性:"
  272.       for i in 0...element_set.size
  273.         text+=$data_system.elements[element_set[i]]+" "
  274.       end
  275.       x=0
  276.       y+=1
  277.       self.contents.font.color = normal_color
  278.       self.contents.font.size=14
  279.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  280.     end
  281.     #附加状态
  282.     if plus_state_set.empty? !=true  #附加状态。为状态 ID 的数组
  283.       text="附加状态:"
  284.       x=0
  285.       y+=1
  286.       self.contents.font.color = normal_color
  287.       self.contents.font.size=14
  288.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  289.       y-=1
  290.       x+=text.size*5      
  291.       for i in 0...plus_state_set.size
  292.         y+=1
  293.         text=$data_states[plus_state_set[i]].name        
  294.         self.contents.font.color = normal_color
  295.         self.contents.font.size=14
  296.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  297.       end  
  298.     end
  299.     #解除状态
  300.     if minus_state_set.empty? !=true  #解除状态。为状态 ID 的数组
  301.       text="解除状态:"
  302.       x=0
  303.       y+=1
  304.       self.contents.font.color = normal_color
  305.       self.contents.font.size=14
  306.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  307.       y-=1
  308.       x+=text.size*5      
  309.       for i in 0...minus_state_set.size
  310.         y+=1
  311.         text=$data_states[minus_state_set[i]].name        
  312.         self.contents.font.color = normal_color
  313.         self.contents.font.size=14
  314.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  315.       end  
  316.     end     
  317.   end
  318. end

  319. class Window_Help < Window_Base_2
  320.   #--------------------------------------------------------------------------
  321.   # ● 武器帮助窗口
  322.   #--------------------------------------------------------------------------
  323.   
  324.   def set_weapon_text(weapon)
  325.     @weapon=weapon
  326.     description=""
  327.     [email protected]
  328.    # 取得屬性、附加狀態、解除狀態之副本
  329.    element_set = @weapon.element_set.clone
  330.    plus_state_set = @weapon.plus_state_set.clone
  331.    minus_state_set = @weapon.minus_state_set.clone
  332.    # 過濾不顯示的描述
  333.    element_set -= UNSHOW_ELEMENT
  334.    plus_state_set -= UNSHOW_STATE
  335.    minus_state_set -= UNSHOW_STATE
  336.    
  337.    

  338.     x=0
  339.     y=0
  340.     height=1     #依要显示的内容确定高
  341.     #由描叙确定高
  342.     height+=description.size/3/10
  343.     if description.size%10!=0
  344.       height+=2
  345.     end
  346.     height+=4  #2个空行,攻击,价格
  347.     if @weapon.pdef!=0 #物理防御
  348.       height+=1
  349.     end      
  350.     if @weapon.mdef!=0 #魔法防御
  351.       height+=1
  352.     end
  353.     if @weapon.str_plus!=0 #力量
  354.       height+=1
  355.     end
  356.     if @weapon.dex_plus!=0#体质
  357.       height+=1
  358.     end
  359.     if @weapon.agi_plus!=0#敏捷
  360.       height+=1
  361.     end
  362.     if @weapon.int_plus!=0 #智力
  363.       height+=1
  364.     end      
  365.     if element_set.empty? !=true  #属性。为属性 ID 的数组
  366.       height+=1
  367.     end  
  368.     if plus_state_set.empty? !=true  #附加状态。为状态 ID 的数组
  369.       height+=plus_state_set.size  
  370.     end
  371.     if minus_state_set.empty? !=true  #解除状态。为状态 ID 的数组
  372.       height+=minus_state_set.size   
  373.     end     
  374.     self.height=height*15+40+15   
  375.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  376.     self.contents.clear
  377.     #描绘名字
  378.     [email protected]
  379.     self.contents.font.color = text_color(1)#颜色脚本
  380.     self.contents.font.size=18
  381.     if text!=nil
  382.       self.visible = true
  383.       self.contents.draw_text(0,0, @weapon.name.size*7, 20, text, 0)
  384.     else
  385.       self.visible = false
  386.     end
  387.     x=0
  388.     y+=1
  389.     text=description
  390.     #描绘描叙
  391.     while ((text = description.slice!(/./m)) != nil)
  392.       self.contents.font.color = normal_color
  393.       self.contents.font.size=14
  394.       self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
  395.       x+=1
  396.       if x==10#每行10个字
  397.         x=0
  398.         y+=1      
  399.       end
  400.     end
  401.     #由特技属性确定高
  402.    
  403.     #攻击
  404.       x=0
  405.       y+=1 #空行     
  406.       text="攻击:"[email protected]_s
  407.       self.contents.font.color = text_color(6)#颜色脚本
  408.       self.contents.font.size=14   
  409.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)      
  410.     #价格
  411.       x=0
  412.       y+=1      
  413.       text="价格:"[email protected]_s
  414.       self.contents.font.color = normal_color
  415.       self.contents.font.size=14   
  416.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  417.       #耐久度
  418.       x=0
  419.       y+=1
  420.       #dur_set = @weapon.dur_set
  421.       dur = @weapon.dur
  422.       text = "耐久度: #{dur}"
  423.       self.contents.font.color = text_color(6)#颜色脚本
  424.       self.contents.font.size=14
  425.       self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
  426.       #可镶嵌次数
  427.       x=0
  428.       y+=1
  429.       text = "可镶嵌次数: "[email protected]_s
  430.       self.contents.font.color = text_color(4)#颜色脚本
  431.       self.contents.font.size=14
  432.       self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
  433.       #品质
  434.       x=0
  435.       y+=1
  436.       text = "品质: "[email protected]
  437.       self.contents.font.color = text_color(3)#颜色脚本
  438.       self.contents.font.size=14
  439.       self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
  440.       
  441.     if @weapon.pdef !=0 #物理防御
  442.       x=0
  443.       y+=1      
  444.       text="物理防御:"[email protected]_s
  445.       self.contents.font.color = text_color(6)#颜色脚本
  446.       self.contents.font.size=14   
  447.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  448.     end      
  449.     if @weapon.mdef!=0 #魔法防御
  450.       x=0
  451.       y+=1      
  452.       text="魔法防御:"[email protected]_s
  453.       self.contents.font.color = text_color(6)#颜色脚本
  454.       self.contents.font.size=14   
  455.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  456.     end

  457.     #武器属性   
  458.     if element_set.empty? != true  #属性。为属性 ID 的数组
  459.       text="属性:"
  460.       for i in 0...element_set.size
  461.         text+=$data_system.elements[element_set[i]]+" "
  462.       end
  463.       x=0
  464.       y+=1
  465.       self.contents.font.color = normal_color
  466.       self.contents.font.size=14
  467.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  468.     end
  469.     #附加状态
  470.     if plus_state_set.empty? != true  #附加状态。为状态 ID 的数组
  471.       text="附加状态:"
  472.       x=0
  473.       y+=1
  474.       self.contents.font.color = normal_color
  475.       self.contents.font.size=14
  476.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  477.       y-=1
  478.       x+=text.size*5      
  479.       for i in 0...plus_state_set.size
  480.         y+=1
  481.         text=$data_states[plus_state_set[i]].name        
  482.         self.contents.font.color = normal_color
  483.         self.contents.font.size=14
  484.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  485.       end  
  486.     end
  487.     #解除状态
  488.     if minus_state_set.empty? != true  #解除状态。为状态 ID 的数组
  489.       text="解除状态:"
  490.       x=0
  491.       y+=1
  492.       self.contents.font.color = normal_color
  493.       self.contents.font.size=14
  494.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  495.       y-=1
  496.       x+=text.size*5      
  497.       for i in 0...minus_state_set.size
  498.         y+=1
  499.         text=$data_states[minus_state_set[i]].name        
  500.         self.contents.font.color = normal_color
  501.         self.contents.font.size=14
  502.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  503.       end  
  504.     end
  505.     y+=2 #空行
  506.     if @weapon.str_plus !=0 #力量
  507.       x=0
  508.       y+=1
  509.       if @weapon.str_plus > 0
  510.         text=$data_system.words.str+"  + "[email protected]_plus.to_s
  511.       else
  512.         [email protected]_plus
  513.         text=$data_system.words.str+"  - "+str_minus.to_s
  514.       end
  515.       self.contents.font.color = text_color(6)#颜色脚本
  516.       self.contents.font.size=14   
  517.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  518.     end
  519.     if @weapon.dex_plus !=0#体质
  520.       x=0
  521.       y+=1      
  522.       if @weapon.dex_plus > 0
  523.         text=$data_system.words.dex+"  + "[email protected]_plus.to_s
  524.       else
  525.         [email protected]_plus
  526.         text=$data_system.words.dex+"  - "+dex_minus.to_s
  527.       end
  528.       self.contents.font.color = text_color(6)#颜色脚本
  529.       self.contents.font.size=14   
  530.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  531.     end
  532.     if @weapon.agi_plus !=0#敏捷
  533.       x=0
  534.       y+=1      
  535.       if @weapon.agi_plus > 0
  536.         text=$data_system.words.agi+"  + "[email protected]_plus.to_s
  537.       else
  538.         [email protected]_plus
  539.         text=$data_system.words.agi+"  - "+agi_minus.to_s
  540.       end
  541.       self.contents.font.color = text_color(6)#颜色脚本
  542.       self.contents.font.size=14   
  543.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  544.     end
  545.     if @weapon.int_plus != 0 #智力
  546.       x=0
  547.       y+=1      
  548.       if @weapon.int_plus > 0
  549.         text=$data_system.words.int+"  + "[email protected]_plus.to_s
  550.       else
  551.         [email protected]_plus
  552.         text=$data_system.words.int+"  - "+int_minus.to_s
  553.       end
  554.       self.contents.font.color = text_color(6)#颜色脚本
  555.       self.contents.font.size=14   
  556.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  557.     end
  558.   end
  559. end

  560. class Window_Help < Window_Base_2
  561.   #--------------------------------------------------------------------------
  562.   # ● 防具帮助窗口
  563.   #--------------------------------------------------------------------------
  564.     def set_armor_text(armor)
  565.       @armor=armor
  566.       description=""
  567.       [email protected]
  568.       # 取得屬性、附加狀態、解除狀態之副本
  569.       element_set = @armor.guard_element_set.clone
  570.       guard_state_set = @armor.guard_state_set.clone
  571.       # 過濾不顯示的描述
  572.      element_set -= UNSHOW_ELEMENT
  573.    guard_state_set -= UNSHOW_STATE
  574.     x=0
  575.     y=0
  576.     height=2     #依要显示的内容确定高
  577.     #由描叙确定高
  578.     height+=description.size/3/10
  579.     if description.size%10 !=0
  580.       height+=2
  581.     end
  582.     height+=3  #2个空行,价格
  583.     if @armor.pdef !=0 #物理防御
  584.       height+=1
  585.     end      
  586.     if @armor.mdef !=0 #魔法防御
  587.       height+=1
  588.     end
  589.     if @armor.str_plus !=0 #力量
  590.       height+=1
  591.     end
  592.     if @armor.dex_plus !=0#体质
  593.       height+=1
  594.     end
  595.     if @armor.agi_plus !=0#敏捷
  596.       height+=1
  597.     end
  598.     if @armor.int_plus !=0 #智力
  599.       height+=1
  600.     end      
  601.     if element_set.empty? != true  #属性防御。为属性 ID 的数组
  602.       height+=1
  603.     end  
  604.     if guard_state_set.empty? != true  #状态防御。为状态 ID 的数组
  605.       height+=guard_state_set.size  
  606.     end   
  607.     self.height=height*16+70  
  608.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  609.     self.contents.clear
  610.     #描绘名字
  611.     [email protected]
  612.     self.contents.font.color = text_color(1)#颜色脚本
  613.     self.contents.font.size=18
  614.     if text!=nil
  615.       self.visible = true
  616.       self.contents.draw_text(0,0, @armor.name.size*7, 20, text, 0)
  617.     else
  618.       self.visible = false
  619.     end
  620.     x=0
  621.     y+=1
  622.     text=description
  623.     #描绘描叙
  624.     while ((text = description.slice!(/./m)) != nil)
  625.       self.contents.font.color = normal_color
  626.       self.contents.font.size=14
  627.       self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
  628.       x+=1
  629.       if x==10#每行10个字
  630.         x=0
  631.         y+=1      
  632.       end
  633.     end
  634.     #由特技属性确定高
  635.    
  636.    
  637.     #价格
  638.       x=0
  639.       y+=1#空行      
  640.       text="价格:"[email protected]_s
  641.       self.contents.font.color = normal_color
  642.       self.contents.font.size=14   
  643.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  644.       #耐久度
  645.       x=2
  646.       y+=1
  647.       #dur_set = @weapon.dur_set
  648.       dur = @armor.dur
  649.       text = "耐久度: #{dur}"
  650.       self.contents.font.color = text_color(6)#颜色脚本
  651.       self.contents.font.size=14
  652.       self.contents.draw_text(x-1, y*15+5, text.size*6, 14, text, 0)
  653.       #可镶嵌次数
  654.       x=0
  655.       y+=1
  656.       text = "可镶嵌次数: "[email protected]_s
  657.       self.contents.font.color = text_color(4)#颜色脚本
  658.       self.contents.font.size=14
  659.       self.contents.draw_text(x-1, y*15+65, text.size*6, 14, text, 0)
  660.       #品质
  661.       x=0
  662.       y+=1
  663.       text = "品质: "[email protected]
  664.       self.contents.font.color = text_color(3)#颜色脚本
  665.       self.contents.font.size=14
  666.       self.contents.draw_text(x-1, y*15+35, text.size*6, 14, text, 0)
  667.       
  668.     if @armor.pdef !=0 #物理防御
  669.       text="物理防御:"[email protected]_s
  670.       self.contents.font.color = text_color(6)#颜色脚本
  671.       self.contents.font.size=14   
  672.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  673.       x=0
  674.       y+=1      
  675.     end      
  676.     if @armor.mdef !=0 #魔法防御
  677.       text="魔法防御:"[email protected]_s
  678.       self.contents.font.color = text_color(6)#颜色脚本
  679.       self.contents.font.size=14   
  680.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  681.       x=0
  682.       y+=1      
  683.     end

  684.     #属性防御   
  685.     if element_set.empty? !=true  #属性。为属性 ID 的数组
  686.       text="属性防御:"
  687.       for i in 0...element_set.size
  688.         text+=$data_system.elements[element_set[i]]+" "
  689.       end
  690.       x=0
  691.       y+=1
  692.       self.contents.font.color = normal_color
  693.       self.contents.font.size=14
  694.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  695.     end
  696.     #状态防御
  697.     if guard_state_set.empty? !=true  #附加状态。为状态 ID 的数组
  698.       text="状态防御:"
  699.       x=0
  700.       y+=1
  701.       self.contents.font.color = normal_color
  702.       self.contents.font.size=14
  703.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  704.       y-=1
  705.       x+=text.size*5      
  706.       for i in 0...guard_state_set.size
  707.         y+=1
  708.         text=$data_states[guard_state_set[i]].name        
  709.         self.contents.font.color = normal_color
  710.         self.contents.font.size=14
  711.         self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)        
  712.       end  
  713.     end

  714.     y+=1 #空行
  715.     if @armor.str_plus !=0 #力量
  716.       x=0
  717.       y+=1
  718.       if @armor.str_plus > 0
  719.         text=$data_system.words.str+"  + "[email protected]_plus.to_s
  720.       else
  721.         [email protected]_plus
  722.         text=$data_system.words.str+"  - "+str_minus.to_s
  723.       end
  724.       self.contents.font.color = text_color(6)#颜色脚本
  725.       self.contents.font.size=14   
  726.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  727.     end
  728.     if @armor.dex_plus !=0#体质
  729.       x=0
  730.       y+=1      
  731.       if @armor.dex_plus > 0
  732.         text=$data_system.words.dex+"  + "[email protected]_plus.to_s
  733.       else
  734.         [email protected]_plus
  735.         text=$data_system.words.dex+"  - "+dex_minus.to_s
  736.       end
  737.       self.contents.font.color = text_color(6)#颜色脚本
  738.       self.contents.font.size=14   
  739.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  740.     end
  741.     if @armor.agi_plus !=0#敏捷
  742.       x=0
  743.       y+=1      
  744.       if @armor.agi_plus > 0
  745.         text=$data_system.words.agi+"  + "[email protected]_plus.to_s
  746.       else
  747.         [email protected]_plus
  748.         text=$data_system.words.agi+"  - "+agi_minus.to_s
  749.       end
  750.       self.contents.font.color = text_color(6)#颜色脚本
  751.       self.contents.font.size=14   
  752.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  753.     end
  754.     if @armor.int_plus !=0 #智力
  755.       x=0
  756.       y+=1      
  757.       if @armor.int_plus > 0
  758.         text=$data_system.words.int+"  + "[email protected]_plus.to_s
  759.       else
  760.         [email protected]_plus
  761.         text=$data_system.words.int+"  - "+int_minus.to_s
  762.       end
  763.       self.contents.font.color = text_color(6)#颜色脚本
  764.       self.contents.font.size=14   
  765.       self.contents.draw_text(x, y*15+20, text.size*6, 14, text, 0)
  766.     end
  767.   end
  768. end


  769. class Window_Help < Window_Base_2
  770.     #--------------------------------------------------------------------------
  771.   # ● 技能帮助窗口
  772.   #--------------------------------------------------------------------------
  773.   def set_skill_text(skill)
  774.     @skill=skill
  775.     description=""
  776.     [email protected]
  777.    # 取得屬性、附加狀態、解除狀態之副本
  778.    element_set = @skill.element_set.clone
  779.    plus_state_set = @skill.plus_state_set.clone
  780.    minus_state_set = @skill.minus_state_set.clone
  781.    # 過濾不顯示的描述
  782.    element_set -= UNSHOW_ELEMENT
  783.    plus_state_set -= UNSHOW_STATE
  784.    minus_state_set -= UNSHOW_STATE
  785.     x=0
  786.     y=0
  787.     height=1     #依要显示的内容确定高
  788.     #由描叙确定高
  789.     height+=description.size/3/10
  790.     if description.size%10!=0
  791.       height+=1
  792.     end
  793.     height+=4  #空行,效果范围,消费SP,命中率
  794.     if @skill.power!=0  #威力,威力为0,则可能为状态魔法
  795.       height+=1
  796.     end
  797.     if element_set.empty? !=true  #属性。为属性 ID 的数组
  798.       height+=1
  799.     end  
  800.     if plus_state_set.empty? !=true  #附加状态。为状态 ID 的数组
  801.       height+=plus_state_set.size  
  802.     end
  803.     if minus_state_set.empty? !=true  #解除状态。为状态 ID 的数组
  804.       height+=minus_state_set.size   
  805.     end     
  806.     self.height=height*15+40+15   
  807.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  808.     self.contents.clear
  809.     #描绘名字
  810.     [email protected]
  811.     self.contents.font.color =text_color(6)
  812.     self.contents.font.size=18
  813.     if text!=nil
  814.       self.visible = true
  815.       self.contents.draw_text(0,0, @skill.name.size*7, 20, text, 0)
  816.     else
  817.       self.visible = false
  818.     end
  819.     x=0
  820.     y+=1
  821.     text=description
  822.     #描绘描叙
  823.     while ((text = description.slice!(/./m)) != nil)
  824.       self.contents.font.color = normal_color
  825.       self.contents.font.size=14
  826.       self.contents.draw_text(x*15, y*15+5, 14, 14, text, 0)
  827.       x+=1
  828.       text
  829.       if x==10#每行10个字
  830.         x=0
  831.         y+=1      
  832.       end
  833.     end
  834.     #由特技属性确定高
  835.     #效果范围
  836.    
  837.     scope = {0=>"特殊技能",1=>"敌单体",2=>"敌全体",3=>"己方单体",4=>"己方全体",5=>"己方昏死单体",6=>"己方昏死全体",7=>"使用者"}#HASH表
  838.     text="范围:"+scope[@skill.scope]
  839.     x=0
  840.     y+=2  #空一行
  841.     self.contents.font.color = normal_color
  842.     self.contents.font.size=14
  843.     self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  844.    
  845.     #威力
  846.     if @skill.power!=0
  847.       x=0
  848.       y+=1
  849.       [email protected] > 0 ? @skill.power : -1* @skill.power
  850.       text="威力:"+c.to_s
  851.       self.contents.font.color = normal_color
  852.       self.contents.font.size=14   
  853.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  854.     end  
  855.     #描绘消费SP
  856.     x=0
  857.     y+=1
  858.     text="消耗SP:"[email protected]_cost.to_s
  859.     self.contents.font.color = normal_color
  860.     self.contents.font.size=14   
  861.     self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  862.     #命中率
  863.     x=0
  864.     y+=1
  865.     text="命中率:"[email protected]_s+"%"
  866.     self.contents.font.color = normal_color
  867.     self.contents.font.size=14
  868.     self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  869.     #攻击属性
  870.    
  871.     if element_set.empty? != true  #属性。为属性 ID 的数组
  872.       text="属性:"
  873.       for i in 0...element_set.size
  874.         text+=$data_system.elements[element_set[i]]+" "
  875.       end
  876.       x=0
  877.       y+=1
  878.       self.contents.font.color = normal_color
  879.       self.contents.font.size=14
  880.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  881.     end
  882.     #附加状态
  883.     if plus_state_set.empty? != true  #附加状态。为状态 ID 的数组
  884.       text="附加状态:"
  885.       x=0
  886.       y+=1
  887.       self.contents.font.color = normal_color
  888.       self.contents.font.size=14
  889.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  890.       y-=1
  891.       x+=text.size*5      
  892.       for i in 0...plus_state_set.size
  893.         y+=1
  894.         text=$data_states[plus_state_set[i]].name        
  895.         self.contents.font.color = normal_color
  896.         self.contents.font.size=14
  897.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  898.       end  
  899.     end
  900.     #解除状态
  901.     if minus_state_set.empty? != true  #解除状态。为状态 ID 的数组
  902.       text="解除状态:"
  903.       x=0
  904.       y+=1
  905.       self.contents.font.color = normal_color
  906.       self.contents.font.size=14
  907.       self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)
  908.       y-=1
  909.       x+=text.size*5      
  910.       for i in 0...minus_state_set.size
  911.         y+=1
  912.         text=$data_states[minus_state_set[i]].name        
  913.         self.contents.font.color = normal_color
  914.         self.contents.font.size=14
  915.         self.contents.draw_text(x, y*15+5, text.size*6, 14, text, 0)        
  916.       end  
  917.     end     
  918.   end
  919. end

  920. class Window_Item < Window_Selectable
  921.   #--------------------------------------------------------------------------
  922.   # ● 刷新帮助文本
  923.   #--------------------------------------------------------------------------
  924.   def update_help
  925. #    @help_window.set_text(self.item == nil ? "" : self.item.description)
  926.     @help_window.set_text(item)
  927.     #校正帮助窗口位置
  928.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  929.   end
  930. end
  931. class Window_Skill < Window_Selectable
  932.   #--------------------------------------------------------------------------
  933.   # ● 刷新帮助文本
  934.   #--------------------------------------------------------------------------
  935.   def update_help
  936. #    @help_window.set_text(self.skill == nil ? "" : self.skill.description)
  937.     @help_window.set_text(skill)
  938.     #校正帮助窗口位置
  939.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  940.   end
  941. end
  942. class Window_EquipRight < Window_Selectable
  943.   def update_help
  944. #    @help_window.set_text(self.item == nil ? "" : self.item.description)
  945.     @help_window.set_text(item)
  946.     #校正帮助窗口位置
  947.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  948.   end
  949. end
  950. class Window_EquipItem < Window_Selectable
  951.   def update_help
  952. #    @help_window.set_text(self.item == nil ? "" : self.item.description)
  953.     @help_window.set_text(item)
  954.     #校正帮助窗口位置
  955.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  956.   end
  957. end
  958. class Window_ShopBuy < Window_Selectable
  959.   def update_help
  960.     @help_window.set_text(item)
  961.     #校正帮助窗口位置
  962.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  963.   end
  964. end
  965. class Window_ShopSell < Window_Selectable
  966.   def update_help
  967.     @help_window.set_text(item)
  968.     #校正帮助窗口位置
  969.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  970.   end
  971. end


复制代码
本人处男作《江湖传之剑侠情》
脚本 ||||||||80%
声音 ||15%
素材 |||30%
剧情 |||||||||90%
物品 ||||||60%
地图 |6%
技能 |10%
职业 |||||||70%
综合 |||26%
━━━━━━━━━━━━━━━━━━━━━
已用时:68小时

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
2
发表于 2013-2-22 19:50:11 | 只看该作者
在窗口刷新那里加入改皮肤的代码试试~
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
275 小时
注册时间
2008-10-22
帖子
205
3
 楼主| 发表于 2013-2-22 20:25:07 | 只看该作者
彭格列第XI代 发表于 2013-2-22 19:50
在窗口刷新那里加入改皮肤的代码试试~

问题自行解决了- -原因是window_base里刷新有一个“如果窗口的外关被变更了、再设置”把那一段注释掉就解决了- -
还是谢谢你的解答
本人处男作《江湖传之剑侠情》
脚本 ||||||||80%
声音 ||15%
素材 |||30%
剧情 |||||||||90%
物品 ||||||60%
地图 |6%
技能 |10%
职业 |||||||70%
综合 |||26%
━━━━━━━━━━━━━━━━━━━━━
已用时:68小时
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-27 23:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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