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

Project1

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

[已经解决] 加个角色技能图标

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7549
在线时间
1314 小时
注册时间
2015-8-15
帖子
747
跳转到指定楼层
1
发表于 2016-3-6 16:04:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 金芒芒 于 2016-3-6 20:28 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_EquipLeft
  3. #------------------------------------------------------------------------------
  4. #  装备画面的、显示角色能力值变化的窗口。
  5. #==============================================================================
  6.  
  7. class Window_Equip_left < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     actor : 角色
  11.   #--------------------------------------------------------------------------
  12.   def initialize(actor)
  13.     super(336, 84, 600, 600)
  14.     self.contents = Bitmap.new(width - 32, height - 32)
  15.     self.contents.font.size = 20
  16.     @actor = actor
  17.     @color1 = normal_color
  18.     @color2 = normal_color
  19.     @color3 = normal_color
  20.     @color4 = normal_color
  21.     @color5 = normal_color
  22.     @color6 = normal_color
  23.     refresh
  24.   end
  25.  
  26.   def set_actor(actor)
  27.     @actor = actor
  28.     refresh
  29.   end
  30.  
  31.   def set_parameters_color(color1 = normal_color,color2 = normal_color,color3 = normal_color,color4 = normal_color,color5 = normal_color,color6 = normal_color)
  32.     @color1 = color1
  33.     @color2 = color2
  34.     @color3 = color3
  35.     @color4 = color4
  36.     @color5 = color5
  37.     refresh
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● 刷新
  41.   #--------------------------------------------------------------------------
  42.   def refresh
  43.     self.contents.clear
  44.     ####################
  45.     upordown_x = 156
  46.     equipopacity_u = 0
  47.     equipopacity_d = 0
  48.     c = 20
  49.     cc = 60
  50.     ####################
  51.   #  draw_walk_actor_graphic(@actor, 108, 60)#####################
  52.  
  53.     #draw_actor_name(@actor, 0, 0)
  54.     contents.font.color = Color.new(255, 255, 255, 255)
  55.     contents.font.size = 12 #字体大小调解
  56.     draw_actor_parameter_new(@actor, 0, 48, 0)
  57.     draw_actor_parameter_new(@actor, 0, 45 + c, 1)
  58.     draw_actor_parameter_new(@actor, 0, 45 + 2*c, 2)
  59.  
  60.   #  draw_actor_level_new(@actor, 0, 32, @color1)
  61.     draw_actor_parameter_new(@actor, 0, 45 + 3*c, 3, @color2)
  62.     draw_actor_parameter_new(@actor, 0, 45 + 4*c, 4, @color3)
  63.     draw_actor_parameter_new(@actor, 0, 45 + 5*c, 5, @color4)
  64.     draw_actor_parameter_new(@actor, 0, 45 + 6*c, 6, @color5)
  65.     contents.font.color = Color.new(210, 250, 235, 200)
  66.     self.contents.draw_text(0, 180, 64, 32, "兵力")
  67.     contents.font.color = Color.new(255, 255, 255, 255)
  68.     self.contents.draw_text(-5, 180, 84, 32, @actor.maxhp.to_s,2)
  69.     # 攻击力
  70.  
  71.     if @new_atk != nil
  72.       if actor_parameter(@actor,0) > @new_atk
  73.         equipopacity_u = 0
  74.         equipopacity_d = 255
  75.         e_atk = actor_parameter(@actor,0) - @new_atk
  76.         cx = contents.text_size(e_atk.to_s).width
  77.         equip_color = down_color
  78.       elsif actor_parameter(@actor,0) < @new_atk
  79.         equipopacity_u = 255
  80.         equipopacity_d = 0
  81.         e_atk = @new_atk - actor_parameter(@actor,0)
  82.         cx = contents.text_size(e_atk.to_s).width
  83.         equip_color = up_color
  84.       else
  85.         equipopacity_u = 0
  86.         equipopacity_d = 0
  87.       end
  88.  
  89.  
  90.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  91.       cw = bitmap.width
  92.       ch = bitmap.height
  93.       src_rect = Rect.new(0, 0, cw, ch)
  94.       self.contents.blt(68+c, 54, bitmap, src_rect,equipopacity_u)
  95.  
  96.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  97.       cw = bitmap.width
  98.       ch = bitmap.height
  99.       src_rect = Rect.new(0, 0, cw, ch)
  100.       self.contents.blt(68+c, 54, bitmap, src_rect,equipopacity_d)
  101.  
  102.       if @new_atk != actor_parameter(@actor,0)   
  103.         self.contents.font.color = equip_color
  104.         self.contents.draw_text(68+c+12, 48, 36, 32, e_atk.to_s, 2)
  105.       end
  106.     end
  107.     # 物理防御
  108.     if @new_pdef != nil
  109.       if actor_parameter(@actor,1) > @new_pdef
  110.         equipopacity_u = 0
  111.         equipopacity_d = 255
  112.         e_pdef = actor_parameter(@actor,1) - @new_pdef
  113.         cx = contents.text_size(e_pdef.to_s).width
  114.         equip_color = down_color
  115.       elsif actor_parameter(@actor,1) < @new_pdef
  116.         equipopacity_u = 255
  117.         equipopacity_d = 0
  118.         e_pdef = @new_pdef - actor_parameter(@actor,1)
  119.         cx = contents.text_size(e_pdef.to_s).width
  120.         equip_color = up_color
  121.       else
  122.         equipopacity_u = 0
  123.         equipopacity_d = 0
  124.       end
  125.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  126.       cw = bitmap.width
  127.       ch = bitmap.height
  128.       src_rect = Rect.new(0, 0, cw, ch)
  129.       self.contents.blt(68+c,51+c, bitmap, src_rect,equipopacity_u)
  130.  
  131.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  132.       cw = bitmap.width
  133.       ch = bitmap.height
  134.       src_rect = Rect.new(0, 0, cw, ch)
  135.       self.contents.blt(68+c, 51+c, bitmap, src_rect,equipopacity_d)
  136.  
  137.       if actor_parameter(@actor,1) != @new_pdef
  138.         self.contents.font.color = equip_color
  139.         self.contents.draw_text(68+c+12, 46+c, 36, 32, e_pdef.to_s, 2)
  140.       end
  141.     end
  142.     # 魔法防御
  143.     if @new_mdef != nil
  144.       if actor_parameter(@actor,2) > @new_mdef
  145.         equipopacity_u = 0
  146.         equipopacity_d = 255
  147.         e_mdef = actor_parameter(@actor,2) - @new_mdef
  148.         cx = contents.text_size(e_mdef.to_s).width
  149.         equip_color = down_color
  150.       elsif actor_parameter(@actor,2) < @new_mdef
  151.         equipopacity_u = 255
  152.         equipopacity_d = 0
  153.         e_mdef = @new_mdef - actor_parameter(@actor,2)
  154.         cx = contents.text_size(e_mdef.to_s).width
  155.         equip_color = up_color
  156.       else
  157.         equipopacity_u = 0
  158.         equipopacity_d = 0
  159.       end
  160.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  161.       cw = bitmap.width
  162.       ch = bitmap.height
  163.       src_rect = Rect.new(0, 0, cw, ch)
  164.       self.contents.blt(68+c, 94 + 2*c, bitmap, src_rect,equipopacity_u)
  165.  
  166.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  167.       cw = bitmap.width
  168.       ch = bitmap.height
  169.       src_rect = Rect.new(0, 0, cw, ch)
  170.       self.contents.blt(68+c, 94 + 2*c, bitmap, src_rect,equipopacity_d)
  171.  
  172.       if actor_parameter(@actor,2) != @new_mdef
  173.         self.contents.font.color = equip_color
  174.         self.contents.draw_text(68+c+12, 46 + 2*c, 36, 32, e_mdef.to_s, 2)
  175.       end
  176.     end
  177.     # 力量
  178.     if @new_str != nil
  179.       if actor_parameter(@actor,3) > @new_str
  180.         equipopacity_u = 0
  181.         equipopacity_d = 255
  182.         e_str = actor_parameter(@actor,3) - @new_str
  183.         cx = contents.text_size(e_str.to_s).width
  184.         equip_color = down_color
  185.       elsif actor_parameter(@actor,3) < @new_str
  186.         equipopacity_u = 255
  187.         equipopacity_d = 0
  188.         e_str = @new_str - actor_parameter(@actor,3)
  189.         cx = contents.text_size(e_str.to_s).width
  190.         equip_color = up_color
  191.       else
  192.         equipopacity_u = 0
  193.         equipopacity_d = 0
  194.       end
  195.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  196.       cw = bitmap.width
  197.       ch = bitmap.height
  198.       src_rect = Rect.new(0, 0, cw, ch)
  199.       self.contents.blt(68+c, 118 + 3*c, bitmap, src_rect,equipopacity_u)
  200.  
  201.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  202.       cw = bitmap.width
  203.       ch = bitmap.height
  204.       src_rect = Rect.new(0, 0, cw, ch)
  205.       self.contents.blt(68+c, 118 + 3*c, bitmap, src_rect,equipopacity_d)
  206.  
  207.       if actor_parameter(@actor,3) != @new_str
  208.         self.contents.font.color = equip_color
  209.         self.contents.draw_text(68+c+12, 46+ 3*c, 36, 32, e_str.to_s, 2)
  210.       end
  211.     end
  212.     # 灵巧
  213.     if @new_dex != nil
  214.       if actor_parameter(@actor,4) > @new_dex
  215.         equipopacity_u = 0
  216.         equipopacity_d = 255
  217.         e_dex = actor_parameter(@actor,4) - @new_dex
  218.         cx = contents.text_size(e_dex.to_s).width
  219.         equip_color = down_color
  220.       elsif actor_parameter(@actor,4) < @new_dex
  221.         equipopacity_u = 255
  222.         equipopacity_d = 0
  223.         e_dex = @new_dex - actor_parameter(@actor,4)
  224.         cx = contents.text_size(e_dex.to_s).width
  225.         equip_color = up_color
  226.       else
  227.         equipopacity_u = 0
  228.         equipopacity_d = 0
  229.       end
  230.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  231.       cw = bitmap.width
  232.       ch = bitmap.height
  233.       src_rect = Rect.new(0, 0, cw, ch)
  234.       self.contents.blt(68+c, 130+4*c, bitmap, src_rect,equipopacity_u)
  235.  
  236.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  237.       cw = bitmap.width
  238.       ch = bitmap.height
  239.       src_rect = Rect.new(0, 0, cw, ch)
  240.       self.contents.blt(68+c, 130+4*c, bitmap, src_rect,equipopacity_d)
  241.  
  242.       if actor_parameter(@actor,4) != @new_dex
  243.         self.contents.font.color = equip_color
  244.         self.contents.draw_text(68+c+12, 46+4*c, 36, 32, e_dex.to_s, 2)
  245.       end
  246.     end
  247.     # 速度
  248.     if @new_agi != nil
  249.       if actor_parameter(@actor,5) > @new_agi
  250.         equipopacity_u = 0
  251.         equipopacity_d = 255
  252.         e_agi = actor_parameter(@actor,5) - @new_agi
  253.         cx = contents.text_size(e_agi.to_s).width
  254.         equip_color = down_color
  255.       elsif actor_parameter(@actor,5) < @new_agi
  256.         equipopacity_u = 255
  257.         equipopacity_d = 0
  258.         e_agi = @new_agi - actor_parameter(@actor,5)
  259.         cx = contents.text_size(e_agi.to_s).width
  260.         equip_color = up_color
  261.       else
  262.         equipopacity_u = 0
  263.         equipopacity_d = 0
  264.       end
  265.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  266.       cw = bitmap.width
  267.       ch = bitmap.height
  268.       src_rect = Rect.new(0, 0, cw, ch)
  269.       self.contents.blt(68+c, 142+5*c, bitmap, src_rect,equipopacity_u)
  270.  
  271.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  272.       cw = bitmap.width
  273.       ch = bitmap.height
  274.       src_rect = Rect.new(0, 0, cw, ch)
  275.       self.contents.blt(68+c, 142+5*c, bitmap, src_rect,equipopacity_d)
  276.  
  277.       if actor_parameter(@actor,5) != @new_agi
  278.         self.contents.font.color = equip_color
  279.         self.contents.draw_text(68+c+12, 46+5*c, 36, 32, e_agi.to_s, 2)
  280.       end
  281.     end
  282.     # 魔力
  283.     if @new_int != nil
  284.       if actor_parameter(@actor,6) > @new_int
  285.         equipopacity_u = 0
  286.         equipopacity_d = 255
  287.         e_int = actor_parameter(@actor,6) - @new_int
  288.         cx = contents.text_size(e_int.to_s).width
  289.         equip_color = down_color
  290.       elsif actor_parameter(@actor,6) < @new_int
  291.         equipopacity_u = 255
  292.         equipopacity_d = 0
  293.         e_int = @new_int - actor_parameter(@actor,6)
  294.         cx = contents.text_size(e_int.to_s).width
  295.         equip_color = up_color
  296.       else
  297.         equipopacity_u = 0
  298.         equipopacity_d = 0
  299.       end
  300.       bitmap = Bitmap.new(PATH_OF_IMAGES + "up.png")
  301.       cw = bitmap.width
  302.       ch = bitmap.height
  303.       src_rect = Rect.new(0, 0, cw, ch)
  304.       self.contents.blt(68+c, 0+6*c, bitmap, src_rect,equipopacity_u)
  305.  
  306.       bitmap = Bitmap.new(PATH_OF_IMAGES + "down.png")
  307.       cw = bitmap.width
  308.       ch = bitmap.height
  309.       src_rect = Rect.new(0, 0, cw, ch)
  310.       self.contents.blt(68+c, 0+6*c, bitmap, src_rect,equipopacity_d)
  311.  
  312.       if actor_parameter(@actor,6) != @new_int
  313.         self.contents.font.color = equip_color
  314.         self.contents.draw_text(68+c+12, 46+6*c, 36, 32, e_int.to_s, 2)
  315.       end
  316.  
  317.  
  318.  
  319.  
  320.       if @new_hp != nil
  321.       n = @new_hp - @actor.maxhp
  322.       color = n > 0 ? text_color(3) : n < 0 ? text_color(2) : normal_color
  323.       self.contents.font.color = color
  324.       self.contents.draw_text(32, 120, 40, 32, "+", 1)
  325.       self.contents.draw_text(64, 150, 56, 32, @new_hp.to_s, 2)
  326.     end
  327.   end
  328.  
  329.  
  330.  
  331. end
  332.   #--------------------------------------------------------------------------
  333.   # ● 变更装备后的能力值设置
  334.   #     new_atk  : 变更装备后的攻击力
  335.   #     new_pdef : 变更装备后的物理防御
  336.   #     new_mdef : 变更装备后的魔法防御
  337.   #--------------------------------------------------------------------------
  338.  
  339.  
  340.  
  341.   def set_new_parameters(new_hp,new_atk, new_pdef, new_mdef,new_str,new_dex,new_agi,new_int)
  342.     if @new_hp != new_hp or @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or @new_int != new_int
  343.       @new_hp   = new_hp
  344.       @new_atk = new_atk
  345.       @new_pdef = new_pdef
  346.       @new_mdef = new_mdef
  347.       @new_str = new_str
  348.       @new_dex = new_dex
  349.       @new_agi = new_agi
  350.       @new_int = new_int
  351.       refresh
  352.  
  353.     end
  354.   end
  355. end

技能图标.jpg (198.32 KB, 下载次数: 3)

技能图标.jpg

355.jpg (18.39 KB, 下载次数: 5)

355.jpg

点评

角色的无双技能要怎么获取?  发表于 2016-3-6 18:04

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

梦石
0
星屑
7549
在线时间
1314 小时
注册时间
2015-8-15
帖子
747
2
 楼主| 发表于 2016-3-6 18:15:11 | 只看该作者
每个角色只有一个技能天生就有
1级开始就有

点评

那就定为角色排列在最前面的那个技能咯?  发表于 2016-3-6 18:21
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

3
发表于 2016-3-6 18:25:18 | 只看该作者
本帖最后由 cinderelmini 于 2016-3-6 20:39 编辑

在refresh最后面有个“# 描绘角色技能图标”那行,【draw_actor_skill(8, 36)】8和36分别就是技能图标的x和y,自己改改,
然后无双技能就是角色技能列表里面排在最前面的那个技能。
代码如下:

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7549
在线时间
1314 小时
注册时间
2015-8-15
帖子
747
4
 楼主| 发表于 2016-3-6 20:36:55 | 只看该作者
cinderelmini 发表于 2016-3-6 18:25
在refresh最后面有个“# 描绘角色技能图标”那行,【draw_actor_skill(8, 36)】8和36分别就是技能图标的x和 ...

335行出问题了

点评

上面的代码更新了一下,再试试看。  发表于 2016-3-6 20:38
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-20 06:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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