查看: 2537|回复: 7

[已经解决] 怎么在窗口内生成并显示图片。

[复制链接]

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
回帖
460
发表于 2018-1-24 08:11:16 | 显示全部楼层 |阅读模式

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

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

×
简单的说就是用图片代替窗口。
把预设的窗口透明掉。
该怎么做?
梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2018-1-24 11:40:43 | 显示全部楼层
参考战斗时的信息显示(在窗口显示文字,窗口区域的不透明度为指定的数值)
在窗口内显示图片,窗口区域的不透明度改成0
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
回帖
460
 楼主| 发表于 2018-1-24 11:44:36 | 显示全部楼层
chd114 发表于 2018-1-24 11:40
参考战斗时的信息显示(在窗口显示文字,窗口区域的不透明度为指定的数值)
在窗口内显示图片,窗口区域的 ...

偶知道要把窗口透明度改为0
偶要问的是怎么生成图片和显示。
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2018-1-24 11:50:27 | 显示全部楼层
春风莉露 发表于 2018-1-24 11:44
偶知道要把窗口透明度改为0
偶要问的是怎么生成图片和显示。

其实这个不难,以状态界面显示的脸图为例,先从相关的脚本找到显示脸图的方法
然后你会在window_base看到这个

  1.   #--------------------------------------------------------------------------
  2.   # ● 绘制角色肖像图
  3.   #     enabled : 有效的标志。false 的时候使用半透明效果绘制
  4.   #--------------------------------------------------------------------------
  5.   def draw_face(face_name, face_index, x, y, enabled = true)
  6.     bitmap = Cache.face(face_name)
  7.     rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
  8.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  9.     bitmap.dispose
  10.   end
复制代码

这就是显示脸图的方法
对比这个就能改出显示图片
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
回帖
460
 楼主| 发表于 2018-1-24 16:46:45 | 显示全部楼层
chd114 发表于 2018-1-24 11:50
其实这个不难,以状态界面显示的脸图为例,先从相关的脚本找到显示脸图的方法
然后你会在window_base看到 ...

喔喔?不应该在scene场景脚本内生成精灵后在显示和删除吗

点评

显示的内容修改和refresh有关  发表于 2018-1-24 17:54
回复

使用道具 举报

梦石
8
星屑
4809
在线时间
1568 小时
注册时间
2014-1-9
回帖
373

开拓者

发表于 2018-1-24 17:15:45 | 显示全部楼层
本帖最后由 余音·魔眼 于 2018-1-24 17:20 编辑

一般来讲是这样:

  1. class Window_xxx1 < Window_xxx2

  2.   def initialize
  3.     super(x, y, width, height)
  4.     #这里只是举的个例子,反正super是调用父类的同名方法,后面跟的参数也是父类同名方
  5.     #法的参数
  6.     self.opacity = 0
  7.     contents.blt(x, y, Cache.文件夹("文件名"), contents.rect)
  8.   end
  9.   
  10. end
复制代码


回复

使用道具 举报

仙木精灵

梦石
0
星屑
651
在线时间
215 小时
注册时间
2012-4-16
回帖
460
 楼主| 发表于 2018-1-24 18:09:07 | 显示全部楼层

喔喔,谢谢回答,偶去去试试
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部