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

Project1

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

[已经解决] 菜单半身像不显示

[复制链接]

Lv2.观梦者

梦石
0
星屑
394
在线时间
52 小时
注册时间
2016-1-6
帖子
31
跳转到指定楼层
1
发表于 2016-1-10 03:19:36 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
按照345912390前辈的《【新手菜单】第四章 人物状态页的横向排列(UI)》的做法,想制作菜单栏的半身像,但到最后时半身像的图片却不显示,像这样
脚本一切正常,我做的图片的分辨率是144*1024(为了迎合窗口的大小裁剪了)
会不会是图片太大了什么的……

捕获2.PNG (174.43 KB, 下载次数: 25)

捕获2.PNG

Lv2.观梦者

梦石
0
星屑
394
在线时间
52 小时
注册时间
2016-1-6
帖子
31
5
 楼主| 发表于 2016-1-10 14:24:37 | 只看该作者
cinderelmini 发表于 2016-1-10 13:52
也许这样可以……
改了一下方法和图片的命名,原来那样的话,如果角色用的脸图在同一个图里的话,
半身像会 ...

行了!可以正常使用,谢谢前辈(・∀・)
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

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

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

4
发表于 2016-1-10 13:52:56 | 只看该作者
本帖最后由 cinderelmini 于 2016-1-10 14:00 编辑
  1.   #--------------------------------------------------------------------------
  2.   # ● 绘制角色半肖像图
  3.   #--------------------------------------------------------------------------
  4.   def draw_actor_HalfBody(actor, x, y, enabled = true)
  5.     draw_HalfBody(actor.id, x, y, enabled)
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 绘制角色半身肖像图
  9.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  10.   #--------------------------------------------------------------------------
  11.   def draw_HalfBody(actor_id, x, y, enabled = true)
  12.     bitmap = Cache.HalfBody("actor_" + actor_id.to_s)
  13.     contents.blt(x, y, bitmap, bitmap.rect, enabled ? 255 : translucent_alpha)
  14.     bitmap.dispose
  15.   end
复制代码
也许这样可以……
改了一下方法和图片的命名,原来那样的话,如果角色用的脸图在同一个图里的话,
半身像会是同个半身像…………
现在这样半身像的图片要改成【actor_角色id】的格式,
比如默认艾力克的半身像图片名字是【actor_1】这样……

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
394
在线时间
52 小时
注册时间
2016-1-6
帖子
31
3
 楼主| 发表于 2016-1-10 12:56:35 | 只看该作者
喵呜喵5 发表于 2016-1-10 11:48
请附上你修改后的脚本,这样别人才能知道你哪里做错了

啊因为觉得脚本貌似没什么问题所以就没放上来,这是Window_MenuStatus的
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_MenuStatus
  4. #------------------------------------------------------------------------------
  5. #  菜单画面中,显示队伍成员状态的窗口
  6. #==============================================================================
  7.  
  8. class Window_MenuStatus < Window_Selectable
  9.   #--------------------------------------------------------------------------
  10.   # ● 定义实例变量
  11.   #--------------------------------------------------------------------------
  12.   attr_reader   :pending_index            # 保留位置(整队用)
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化对象
  15.   #--------------------------------------------------------------------------
  16.   def initialize(x, y)
  17.     super(x, y+100, window_width, window_height)
  18.     @pending_index = -1
  19.     refresh
  20.   end
  21. #--------------------------------------------------------------------------
  22.   # ● 获取窗口的宽度
  23.   #--------------------------------------------------------------------------
  24.   def window_width
  25.     Graphics.width-160
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 获取窗口的高度
  29.   #--------------------------------------------------------------------------
  30.   def window_height
  31.     Graphics.height - 96
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 获取列数
  35.   #--------------------------------------------------------------------------
  36.   def col_max
  37.     return 4 #跟据分辨率的不同可以改
  38.   end  
  39.   #--------------------------------------------------------------------------
  40.   # ● 获取项目数
  41.   #--------------------------------------------------------------------------
  42.   def item_max
  43.     $game_party.members.size
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 获取项目的高度
  47.   #--------------------------------------------------------------------------
  48.   def item_height
  49.     height - standard_padding * 2
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 获取行间距的宽度
  53.   #--------------------------------------------------------------------------
  54.   def spacing
  55.     return 0
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 绘制项目
  59.   #--------------------------------------------------------------------------
  60.   def draw_item(index)
  61.     actor = $game_party.members[index]
  62.     enabled = $game_party.battle_members.include?(actor)
  63.     rect = item_rect(index)
  64.     draw_item_background(index)
  65.     draw_actor_HalfBody(actor, rect.x, rect.y, enabled)
  66.     draw_actor_name(actor,rect.x,rect.y+96)
  67.     draw_actor_icons(actor,rect.x,rect.y+50+line_height*2)
  68.     draw_actor_level(actor,rect.x,rect.y+96+line_height*2)
  69.     draw_actor_hp(actor,rect.x, rect.y+96+line_height*4)
  70.     draw_actor_mp(actor,rect.x,rect.y+96+line_height*5)
  71.     draw_actor_tp(actor,rect.x,rect.y+96+line_height*6)
  72. end
  73.   #--------------------------------------------------------------------------
  74.   # ● 绘制项目的背景
  75.   #--------------------------------------------------------------------------
  76.   def draw_item_background(index)
  77.     if index == @pending_index
  78.       contents.fill_rect(item_rect(index), pending_color)
  79.     end
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 按下确定键时的处理
  83.   #--------------------------------------------------------------------------
  84.   def process_ok
  85.     super
  86.     $game_party.menu_actor = $game_party.members[index]
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 返回上一个选择的位置
  90.   #--------------------------------------------------------------------------
  91.   def select_last
  92.     select($game_party.menu_actor.index || 0)
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● 设置保留位置(整队用)
  96.   #--------------------------------------------------------------------------
  97.   def pending_index=(index)
  98.     last_pending_index = @pending_index
  99.     @pending_index = index
  100.     redraw_item(@pending_index)
  101.     redraw_item(last_pending_index)
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 计算窗口内容的宽度
  105.   #--------------------------------------------------------------------------
  106.   def contents_width
  107.     (item_width + spacing) * item_max - spacing
  108.   end
  109.     #--------------------------------------------------------------------------
  110.   # ● 计算窗口内容的宽度
  111.   #--------------------------------------------------------------------------
  112.   def contents_height
  113.     item_height
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 获取首列位置
  117.   #--------------------------------------------------------------------------
  118.   def top_col
  119.     ox / (item_width + spacing)
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 设置首列位置
  123.   #--------------------------------------------------------------------------
  124.   def top_col=(col)
  125.     col = 0 if col < 0
  126.     col = col_max - 1 if col > col_max - 1
  127.     self.ox = col * (item_width + spacing)
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ● 获取尾列位置
  131.   #--------------------------------------------------------------------------
  132.   def bottom_col
  133.     top_col + col_max - 1
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 设置尾列位置
  137.   #--------------------------------------------------------------------------
  138.   def bottom_col=(col)
  139.     self.top_col = col - (col_max - 1)
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● 确保光标在画面范围内滚动
  143.   #--------------------------------------------------------------------------
  144.   def ensure_cursor_visible
  145.     self.top_col = index if index < top_col
  146.     self.bottom_col = index if index > bottom_col
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 获取项目的绘制矩形
  150.   #--------------------------------------------------------------------------
  151.   def item_rect(index)
  152.     rect = super
  153.     rect.x = index * (item_width + spacing)
  154.     rect.y = 0
  155.     rect
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 获取对齐方向
  159.   #--------------------------------------------------------------------------
  160.   def alignment
  161.     return 1
  162.   end
  163.   #--------------------------------------------------------------------------
  164.   # ● 光标向下移动
  165.   #--------------------------------------------------------------------------
  166.   def cursor_down(wrap = false)
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● 光标向上移动
  170.   #--------------------------------------------------------------------------
  171.   def cursor_up(wrap = false)
  172.   end
  173.   #--------------------------------------------------------------------------
  174.   # ● 光标移至下一页
  175.   #--------------------------------------------------------------------------
  176.   def cursor_pagedown
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # ● 光标移至上一页
  180.   #--------------------------------------------------------------------------
  181.   def cursor_pageup
  182.   end
  183. end

这是Window_Base里关于加入半身像部分的
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 绘制角色半肖像图
  3.   #--------------------------------------------------------------------------
  4.   def draw_actor_HalfBody(actor, x, y, enabled = true)
  5.     draw_HalfBody(actor.face_name, actor.face_index, x, y, enabled)
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 绘制角色半身肖像图
  9.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  10.   #--------------------------------------------------------------------------
  11.   def draw_HalfBody(face_name, face_index, x, y, enabled = true)
  12.     bitmap = Cache.HalfBody(face_name)
  13.     rect = Rect.new(face_index % 4 * 96, face_index / 4 * 194, 136, 194)
  14.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  15.     bitmap.dispose
  16.   end

这是Cache里关于获取本身像的
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取角色肖像图
  3.   #--------------------------------------------------------------------------
  4.   def self.HalfBody(filename)
  5.     load_bitmap("Graphics/HalfBody/", filename)
  6.   end

这是放图片的地方

PS:安装过分辨率突破补丁和仓库脚本_(:зゝ∠)_
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

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

开拓者短篇九导演组冠军

2
发表于 2016-1-10 11:48:26 | 只看该作者
请附上你修改后的脚本,这样别人才能知道你哪里做错了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 06:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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