查看: 3216|回复: 15

[已经解决] 请教一个空白窗口显示一张图片怎么搞?

[复制链接]
梦石
0
星屑
3181
在线时间
1439 小时
注册时间
2009-7-27
回帖
1187
发表于 2019-3-28 03:30:38 | 显示全部楼层 |阅读模式

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

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

×
就是想弄一个空窗口,只显示一张Pictures里的图片,请问该怎么写?

[pre lang="ruby"]class Window_Pictures< Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(270, 30, 170, 140)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 160
    self.z= 999
    @actor=actor
    refresh
  end
def draw_Pictures(x,y)
bitmap = RPG::Cache.Pictures(Graphics\Pictures + "" , Pictures_hue)
self.contents.blt(x,y,bitmap,Rect.new(0,0,bitmap.width,bitmap.height ))
end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    draw_Pictures(160,360)
  end
[/pre]

博客:我的博客
梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-3-28 09:54:59 | 显示全部楼层
[pre lang="ruby"]
class Window_Pictures< Window_Base
  #--------------------------------------------------------------------------
  # ● 实例变量
  #--------------------------------------------------------------------------
  attr_accessor :sprite, :bitmap
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(-64, -64, 64, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @sprite = Sprite.new
    @bitmap = RPG::Cache.pictures("文件名")
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    draw_pictures(160,360)
  end
  #--------------------------------------------------------------------------
  # ● 绘制精灵
  #--------------------------------------------------------------------------
  def draw_pictures(x, y)
    @sprite.x = x
    @sprite.y = y
    @sprite.bitmap = @bitmap
  end
end
[/pre]

未测试

点评

查了下F1,你把13行Cache.pictures的s去掉  发表于 2019-3-28 23:13
13行会出错  发表于 2019-3-28 20:06
= = 这个是"真.实现楼主的每一点要求"...... 我觉得楼主是要一个只显示一张图片的窗口吧...  发表于 2019-3-28 10:55
用头画头像,用脚写脚本
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2019-3-28 11:48:18 | 显示全部楼层
其实我觉得直接绘制self.contents就行了,但是楼主似乎忘了写正确的文件名。
14行改成主要我觉得就行了(未测试)
  1. bitmap = RPG::Cache.pictures("文件名")
复制代码

点评

还是出错  发表于 2019-3-28 20:10
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-3-28 23:21:29 | 显示全部楼层
[pre lang="ruby"]class Window_Pictures < Window_Base
  #--------------------------------------------------------------------------
  # ● 实例变量
  #--------------------------------------------------------------------------
  attr_accessor :sprite, :bitmap
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(-64, -64, 64, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    @sprite = Sprite.new
    @bitmap = RPG::Cache.picture("文件名")
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    draw_pictures(160,160)
  end
  #--------------------------------------------------------------------------
  # ● 绘制精灵
  #--------------------------------------------------------------------------
  def draw_pictures(x, y)
    @sprite.x = x
    @sprite.y = y
    @sprite.bitmap = @bitmap
  end
end
[/pre]

QQ截图20190328232016.png

QQ截图20190328231857.png

评分

参与人数 1星屑 +100 赞 +1 收起 理由
RyanBern + 100 + 1 认可答案

查看全部评分

用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
3181
在线时间
1439 小时
注册时间
2009-7-27
回帖
1187
 楼主| 发表于 2019-3-29 18:36:54 | 显示全部楼层
KB.Driver 发表于 2019-3-28 23:21
class Window_Pictures < Window_Base
  #------------------------------------------------------------- ...

你好,我试了一下图片不显示,请问怎么回事?我在状态那里也试了一下,都不显示图片
Project2.7z (271.74 KB, 下载次数: 92)

博客:我的博客
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-3-29 20:53:33 | 显示全部楼层
爆焰 发表于 2019-3-29 18:36
你好,我试了一下图片不显示,请问怎么回事?我在状态那里也试了一下,都不显示图片
...

QQ截图20190329205205.png

改成具体数值

点评

用变量做分歧  发表于 2019-3-30 10:25
不过还是谢谢啦,这只是第一步。我想做一个不同商店的NPS显示不同的图片,请问有办法实现吗?  发表于 2019-3-30 00:16
暂时解决了,其实不用窗口也可实现 @menu_com = Sprite.new @menu_com.bitmap = RPG::Cache.picture("001-Fighter01.png") @menu_com.x=0 @menu_com.y= 160 @menu_com.z=999   发表于 2019-3-30 00:15
发现问题了,图片会被窗口会挡住,我把窗口调大才看到的,这是什么原因?图片不在窗口内的  发表于 2019-3-29 23:53
具体数值试过了,就是不显示。  发表于 2019-3-29 23:49
用头画头像,用脚写脚本
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部