Project1

标题: 如何将物品显示在窗口 [打印本页]

作者: 帮帮    时间: 2012-10-18 07:48
标题: 如何将物品显示在窗口
如何将物品33.34号.在窗口下边中显示出来.....
作者: 帮帮    时间: 2012-10-19 10:12
就是在游戏窗口上...我是想做简单的物品栏.......拥有的数量无法准确显示!所以找人帮忙
作者: 沙漠点灰    时间: 2012-10-19 12:49
帮帮 发表于 2012-10-19 10:12
就是在游戏窗口上...我是想做简单的物品栏.......拥有的数量无法准确显示!所以找人帮忙 ...

。。。。就是问你哪个游戏窗口...新建的话....在地图上的话。。。
得在Scene_Map上动手脚....
比如Scene_Map在开头有
RUBY 代码复制
  1. # 生成信息窗口
  2.     @message_window = Window_Message.new

在下面写个
RUBY 代码复制
  1. @wnd_diy = Window.new(x,y,w,h)

x,y,w,h分别代指x坐标,y坐标,宽,高..
当然得记得释放..
RUBY 代码复制
  1. @message_window.dispose

下面天上
RUBY 代码复制
  1. @wnd_diy.dispose

一个简单的窗口就建好了...

先写到这,lz说的游戏窗口到底指什么,说一下先
作者: 帮帮    时间: 2012-10-19 13:25
游戏窗口....就是一进入游戏显示的窗口呢...像A.RPG......................将物品显示出来不用进入菜单!最好注明 物品33.34号  如何将它显示出来!谢谢...................
作者: zxcgood2009    时间: 2012-10-20 15:26
本帖最后由 zxcgood2009 于 2012-10-20 15:31 编辑

我不知道别的办法,只知道这种
  1.     @var_icon = Bitmap.new("Graphics/Icons/032-Item01")
  2. self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
复制代码
这是显示图片
  1.     self.contents.draw_text(24, 0, 84-cx, 28, $game_party.item_number(33).to_s, 2)
复制代码
这是显示物品第33号的数量





本来我做了个范例,但传不上来,所以就在这里直接发上来了。
这是我用一个别人的显示金钱脚本改的。
  1. #==============================================================================
  2. # ◎ Window_MapVar
  3. #------------------------------------------------------------------------------
  4. # ◎ 地图右下显示变量窗口
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_MapVar < Window_Base
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化窗口
  14.   #--------------------------------------------------------------------------
  15.   def initialize
  16.    
  17.     # 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
  18.     # 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
  19.     super(480,420,160,60)
  20.    
  21.     # 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
  22.     # 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
  23.     # 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
  24.     self.opacity=64
  25.     # 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
  26.     # 注:就是窗口那个蓝色的背景啦……受上面参数影响
  27.     self.back_opacity=128
  28.     # 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
  29.     # 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
  30.     self.contents_opacity=255

  31.     # 这个不用管他,必定要写的
  32.     self.contents = Bitmap.new(width - 32, height - 32)
  33.    
  34.     # 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
  35.     #@var_value_old = -1
  36.     # 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
  37.     @var_icon = Bitmap.new("Graphics/Icons/032-Item01")
  38.    
  39.     refresh
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 刷新
  43.   #--------------------------------------------------------------------------
  44.   def refresh
  45.     # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
  46.     #if @var_value_old == $game_party.item_number(33) then
  47.     #  return
  48.     #end
  49.     # 先清空内容啦
  50.     self.contents.clear
  51.     # 计算系统data里金钱单位的字符宽度
  52.     cx = contents.text_size($data_system.words.gold).width
  53.     # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
  54.     self.contents.font.color = Color.new(255,255,255)
  55.     # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
  56.     # 注:这里24是留着画24*24图标的,104表示所有字符总宽
  57.     self.contents.draw_text(24, 0, 84-cx, 28, $game_party.item_number(33).to_s, 2)
  58.     # 设定字色为金色
  59.     self.contents.font.color = Color.new(255,255,0)
  60.     # 绘制金钱单位。
  61.     # 注:128=160(窗口宽)-32
  62.     self.contents.draw_text(100, 0, 30, 28, "个")
  63.     # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
  64.     self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
  65.   end
  66. end
复制代码
要在Scene_Map里  def main 下面添加
    @GPRA = Window_MapVar.new
在    # 释放活动块   下面添加
    @GPRA.dispose
在    # 刷新活动块   下面添加
    @GPRA.refresh

作者: 帮帮    时间: 2012-10-21 13:42
还有...如何显示第2个物品窗口...有点搞不过。。。。
作者: zxcgood2009    时间: 2012-10-21 14:56
  1. #==============================================================================
  2. # ◎ Window_MapVar
  3. #------------------------------------------------------------------------------
  4. # ◎ 地图右下显示变量窗口
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_MapVar < Window_Base
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化窗口
  14.   #--------------------------------------------------------------------------
  15.   def initialize
  16.    
  17.     # 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
  18.     # 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
  19.     super(460,390,160,90)
  20.    
  21.     # 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
  22.     # 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
  23.     # 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
  24.     self.opacity=64
  25.     # 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
  26.     # 注:就是窗口那个蓝色的背景啦……受上面参数影响
  27.     self.back_opacity=128
  28.     # 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
  29.     # 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
  30.     self.contents_opacity=255

  31.     # 这个不用管他,必定要写的
  32.     self.contents = Bitmap.new(width - 32, height - 32)
  33.    
  34.     # 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
  35.     #@var_value_old = -1
  36.     # 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
  37.     @var_icon = Bitmap.new("Graphics/Icons/032-Item01")
  38.     @var_icon1 = Bitmap.new("Graphics/Icons/033-Item02")
  39.     refresh
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 刷新
  43.   #--------------------------------------------------------------------------
  44.   def refresh
  45.     # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
  46.     #if @var_value_old == $game_party.item_number(33) then
  47.     #  return
  48.     #end
  49.     # 先清空内容啦
  50.     self.contents.clear
  51.     # 计算系统data里金钱单位的字符宽度
  52.     cx = contents.text_size($data_system.words.gold).width
  53.     # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
  54.     self.contents.font.color = Color.new(255,255,255)
  55.     # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
  56.     # 注:这里24是留着画24*24图标的,104表示所有字符总宽
  57.     self.contents.draw_text(24, 0, 84-cx, 28, $game_party.item_number(33).to_s, 2)
  58.     self.contents.draw_text(24, 32, 84-cx, 28, $game_party.item_number(34).to_s, 2)
  59.     # 设定字色为金色
  60.     self.contents.font.color = Color.new(255,255,0)
  61.     # 绘制金钱单位。
  62.     # 注:128=160(窗口宽)-32
  63.     self.contents.draw_text(100, 0, 30, 28, "个")
  64.     self.contents.draw_text(100, 32, 30, 28, "个")
  65.     # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
  66.     self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
  67.     self.contents.blt(0, 32, @var_icon1, Rect.new(0, 0, 24, 24))
  68.   end
  69. end
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1