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

Project1

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

[已经解决] 关于图片做背景周边有“缝隙”的问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
跳转到指定楼层
1
发表于 2015-8-20 22:12:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
周边的“缝隙”怎么消除,影响(覆盖)到整体布局
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_Status
  4. #------------------------------------------------------------------------------
  5. #  状态画面中,显示角色基本信息的窗口。
  6. #==============================================================================
  7. class Window_Status < Window_Selectable
  8.         #--------------------------------------------------------------------------
  9.         # ● 初始化对象
  10.         #--------------------------------------------------------------------------
  11.         def initialize(actor)
  12.                 super(0, 0, 544, 412)
  13.                 @actor = actor
  14.                 refresh
  15.                 activate
  16.     self.opacity=0
  17.                 @data = []
  18.         end
  19.         #--------------------------------------------------------------------------
  20.         # ● 设置角色
  21.         #--------------------------------------------------------------------------
  22.         def actor=(actor)
  23.                 return if @actor == actor
  24.                 @actor = actor
  25.                 refresh
  26.         end
  27.         #--------------------------------------------------------------------------
  28.         # ● 刷新
  29.         #--------------------------------------------------------------------------
  30.         def refresh
  31.                 contents.clear
  32.                 draw_block1   (0)
  33.                 draw_skill
  34.         end
  35.         #--------------------------------------------------------------------------
  36.         # ● 绘制区域 1
  37.         #--------------------------------------------------------------------------
  38.         def draw_block1(y)
  39. #~     draw_window_backg
  40.                 draw_backg
  41.                 draw_actor_name(@actor, 4, y)
  42.                 draw_actor_class(@actor, 128, y)
  43.                 draw_basic_info(136, y)
  44.                 draw_parameters(32, y)
  45.                 draw_xparameters
  46.                 draw_sparameters
  47.                 draw_equipments(288, y)
  48.                 draw_description(4, y)
  49.         end
  50.         #--------------------------------------------------------------------------
  51.         # ● 绘制水平线
  52.         #--------------------------------------------------------------------------
  53.         def draw_horz_line(y)
  54.                 line_y = y + line_height / 2 - 1
  55.                 contents.fill_rect(0, line_y, contents_width, 2, line_color)
  56.         end
  57.         #--------------------------------------------------------------------------
  58.         # ● 获取水平线的颜色
  59.         #--------------------------------------------------------------------------
  60.         def line_color
  61.                 color = normal_color
  62.                 color.alpha = 48
  63.                 color
  64.         end
  65.         #--------------------------------------------------------------------------
  66.         # ● 绘制基本信息
  67.         #--------------------------------------------------------------------------
  68.         def draw_basic_info(x, y)
  69.                 w=28
  70.                 rct_w=32
  71.                 rct_h=24
  72.                 y_z=160
  73.                 x_z=0
  74.                 #~  draw_actor_icons(@actor, x, y + line_height * 1)绘制状态图标
  75.                 contents.font.size=16
  76. #~                 draw_actor_hp(@actor, 160, 200,width= 100)
  77. #~                 draw_actor_mp(@actor, 160, 224,width= 100)
  78.                 draw_icon(6, x_z  , y_z    , enabled = true)
  79.                 draw_icon(3, x_z+w  , y_z  , enabled = true)
  80.                 draw_icon(4, x_z+w*2  , y_z, enabled = true)
  81.                 draw_icon(8, x_z+w*3  , y_z, enabled = true)
  82.                 draw_icon(5, x_z+w*4  , y_z, enabled = true)
  83.                 draw_icon(10, x_z+w*5  , y_z, enabled = true)
  84.  
  85.     draw_text(x_z+4 ,y_z+w-8    ,rct_w,rct_h,@actor.m5_20150228_skill_point["红莲"])
  86.                 draw_text(x_z+w+4 ,y_z+w-8  ,rct_w,rct_h,@actor.m5_20150228_skill_point["冻牙"])
  87.                 draw_text(x_z+w*2+4 ,y_z+w-8,rct_w,rct_h,@actor.m5_20150228_skill_point["闪光"])
  88.                 draw_text(x_z+w*3+4 ,y_z+w-8,rct_w,rct_h,@actor.m5_20150228_skill_point["烈空"])
  89.                 draw_text(x_z+w*4+4 ,y_z+w-8,rct_w,rct_h,@actor.m5_20150228_skill_point["金刚"])
  90.                 draw_text(x_z+w*5+4 ,y_z+w-8,rct_w,rct_h,@actor.m5_20150228_skill_point["修罗"])
  91.  
  92.                 draw_text(x_z+4 ,y_z+w+4    ,rct_w,rct_h,@actor.m5_20150228_skill_point_use["红莲"])
  93.                 draw_text(x_z+w+4 ,y_z+w+4  ,rct_w,rct_h,@actor.m5_20150228_skill_point_use["冻牙"])
  94.                 draw_text(x_z+w*2+4 ,y_z+w+4,rct_w,rct_h,@actor.m5_20150228_skill_point_use["闪光"])
  95.                 draw_text(x_z+w*3+4 ,y_z+w+4,rct_w,rct_h,@actor.m5_20150228_skill_point_use["烈空"])
  96.                 draw_text(x_z+w*4+4 ,y_z+w+4,rct_w,rct_h,@actor.m5_20150228_skill_point_use["金刚"])
  97.                 draw_text(x_z+w*5+4 ,y_z+w+4,rct_w,rct_h,@actor.m5_20150228_skill_point_use["修罗"])
  98.         end
  99.         #--------------------------------------------------------------------------
  100.         # ● 绘制技能
  101.         #--------------------------------------------------------------------------
  102.         def draw_skill
  103.                 dx = 170; dy = 40
  104.                 contents.font.size=16
  105.                 for skill in @actor.skills
  106.                         next if skill.nil?
  107.                         next unless @actor.added_skill_types.include?(skill.stype_id)
  108.                         draw_item_name(skill, dx, dy)
  109.                         #~  dx = dx == contents.width / 2 + 16 ? 0 : contents.width / 2 + 16
  110.                         dy += line_height #if dx == 0
  111.                         return if dy + line_height > contents.height
  112.                 end
  113.         end
  114.         #--------------------------------------------------------------------------
  115.         # ● 绘制普通能力值  
  116.   #def mhp;  param(0);   end    # 最大HP          Maximum Hit Point
  117.   #def mmp;  param(1);   end    # 最大MP          Maximum Magic Point
  118.   #def atk;  param(2);   end    # 物理攻击        ATtacK power
  119.   #def def;  param(3);   end    # 物理防御        DEFense power
  120.   #def mat;  param(4);   end    # 魔法攻击        Magic ATtack power
  121.   #def mdf;  param(5);   end    # 魔法防御        Magic DeFense power
  122.   #def agi;  param(6);   end    # 敏 捷 值        AGIlity
  123.   #def luk;  param(7);   end    # 幸 运 值        LUcK
  124.         #--------------------------------------------------------------------------
  125.         def draw_parameters(x, y)
  126.                 contents.font.size=18
  127.     w=24
  128.                 rct_w=32
  129.                 rct_h=24
  130.                 y_z=210
  131.                 x_z=0
  132. #~     draw_icon(15, x_z , y_z, enabled = true)
  133. #~                 draw_icon(16, x_z , y_z+w, enabled = true)
  134. #~                 draw_icon(17, x_z , y_z+w*2, enabled = true)
  135. #~                 draw_icon(18, x_z , y_z+w*3, enabled = true)
  136. #~                 draw_icon(19, x_z+70 , y_z, enabled = true)
  137. #~                 draw_icon(10, x_z+70 , y_z+w, enabled = true)
  138. #~                 draw_icon(21, x_z+70 , y_z+w*2, enabled = true)
  139. #~     draw_icon(21, x_z+70 , y_z+w*3, enabled = true)
  140.     draw_actor_param(@actor, x_z, y_z  , 0)
  141.     draw_actor_param(@actor, x_z, y_z + w * 1, 1)
  142.     draw_actor_param(@actor, x_z, y_z + w * 2, 2)
  143.     draw_actor_param(@actor, x_z, y_z + w * 3, 3)
  144.     draw_actor_param(@actor, 74, y_z , 4)
  145.     draw_actor_param(@actor, 74, y_z + w * 1, 5)
  146.     draw_actor_param(@actor, 74, y_z + w * 2, 6)
  147.     draw_actor_param(@actor, 74, y_z + w * 3, 7)
  148.         end
  149.   #--------------------------------------------------------------------------
  150.         # ● 绘制X能力值
  151.         #--------------------------------------------------------------------------
  152.         def draw_xparameters
  153.                 x=140
  154.                 l=18
  155.                 y=Graphics.height-l*10
  156.                 contents.font.size=16
  157.                 draw_actor_xparam(@actor, x, y+l*1,0 , "物理命中")
  158.                 draw_actor_xparam(@actor, x, y+l*2,1 , "物理闪避")
  159.                 draw_actor_xparam(@actor, x, y+l*3,2 , "会心一击")
  160.                 draw_actor_xparam(@actor, x, y+l*4,3 , "抗会心一击")
  161.                 #~  draw_actor_xparam(@actor, x, y+l*5,4 , "技能闪避")
  162.                 #~  draw_actor_xparam(@actor, x, y+l*6,5 , "技能反射")
  163.                 draw_actor_xparam(@actor, x, y+l*5,6 , "反击")
  164.                 draw_actor_xparam(@actor, x, y+l*6,7 , "生命再生")
  165.                 draw_actor_xparam(@actor, x, y+l*7,8 , "士气再生")
  166.                 #~  draw_actor_xparam(@actor, x, y+l*10,9 , "怒气增长")
  167.         end
  168.   #--------------------------------------------------------------------------
  169.         # ● 绘制S能力值
  170.         #--------------------------------------------------------------------------
  171.         def draw_sparameters
  172.                 x=0
  173.                 l=18
  174.                 y=Graphics.height-l*7
  175.                 contents.font.size=16
  176.                 draw_actor_sparam(@actor, x, y+l*1, 1,"防御修正")
  177.                 draw_actor_sparam(@actor, x, y+l*2, 2,"恢复修正")
  178.                 draw_actor_sparam(@actor, x, y+l*3, 3,"治疗修正")
  179.                 #~  draw_actor_sparam(@actor, x, y+l*4, 4,"MP消费率")
  180.                 #~  draw_actor_sparam(@actor, x, y+l*5, 5,"TP消耗率")
  181.                 draw_actor_sparam(@actor, x, y+l*4, 6,"物抗修正")
  182.                 #~  draw_actor_sparam(@actor, x, y+l*7, 7,"魔法伤害加成")
  183.                 #~  draw_actor_sparam(@actor, x, y+l*8, 8,"地形伤害加成")
  184.                 #~  draw_actor_sparam(@actor, x, y+l*9, 9,"经验获得加成")
  185.         end
  186.   #--------------------------------------------------------------------------
  187.         # ● 绘制人物背景
  188.         #--------------------------------------------------------------------------
  189.         def draw_backg
  190.                 actor=@actor
  191.                 actor_bg(actor.id)
  192.         end
  193.         def actor_bg(file_name)
  194.                 bitmap = Cache.picture("/Actor#{file_name}_Status")
  195.                 src_rect = Rect.new(0,0,544 ,412)
  196.                 contents.blt(0, 0, bitmap, src_rect,255)
  197.         end
  198.   #--------------------------------------------------------------------------
  199.         # ● 绘制窗口背景
  200.         #--------------------------------------------------------------------------
  201. #~         def draw_window_backg
  202. #~                 windowbg = Cache.picture("/windowbg")
  203. #~                 src_rect = Rect.new(0,0,windowbg.width ,windowbg.height)
  204. #~                 contents.blt(0, 0, windowbg, src_rect,125)
  205. #~         end
  206. end

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9414 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2015-8-20 22:29:45 | 只看该作者
在Scene中创建指定的精灵(sprite)用于显示背景

或者
  1. class Window_Status
  2.   def standard_padding
  3.     return 0
  4.   end
  5. end
复制代码

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
帖子
840
3
 楼主| 发表于 2015-8-20 23:11:26 | 只看该作者
喵呜喵5 发表于 2015-8-20 22:29
在Scene中创建指定的精灵(sprite)用于显示背景

或者

感谢,但好像还差点~~,望指教。

点评

感谢,我一直以为是412MAX  发表于 2015-8-21 08:59
脚本第12行:super(0, 0, 544, 416)  发表于 2015-8-20 23:19
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

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

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

4
发表于 2015-8-20 23:19:14 | 只看该作者
本帖最后由 cinderelmini 于 2015-8-20 23:20 编辑

【super(0, 0, 544, 412)】
【src_rect = Rect.new(0,0,544 ,412)】
VA窗口默认高度是416。

点评

不是412啊,我错了。  发表于 2015-8-21 08:59

评分

参与人数 1星屑 +200 收起 理由
taroxd + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
5
发表于 2015-8-21 11:39:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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