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

Project1

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

[已经解决] 在菜单直接显示物品属性或图片的办法

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
19 小时
注册时间
2014-6-14
帖子
18
跳转到指定楼层
1
发表于 2014-6-17 23:08:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 thelians 于 2014-6-19 20:46 编辑

捣鼓半天目前终于解决了不显示备注内容的问题……OTL
但是无法实现在备注说明框上方插入新窗口同步显示道具图片
刚X菜单是这样的

然后点物品   属性出现在右边,而道具栏靠下的方框做不到显示该道具的大图

找了很多脚本都改不出来OTLLLLLLL

-------------------------------------------------------
【旧,已自己解决】
这是实验体
我想把系统做成点物品后同步【悬浮图像】或者【说明】,不需要刷新页面直接选择物品出现物品LIST,上下选择物品出现物品文字说明或图像,但是目前为止最下方的悬浮框不知道为什么没有任何显示内容|……
然后我调用的是系统的help窗口的内容,这个help窗口本身就是用来做这种说明的(就是默认内容)
现在的问题是很奇怪的OTL
我调用这个窗口的时候,大小和位置是用的help窗口的定义,但是不显示说明文
也就是说调用是成功的,但是就是不起作用……………………

QQ图片20140617165432.jpg (54.19 KB, 下载次数: 22)

QQ图片20140617165432.jpg

点评

你的脚本是怎么写的呢?贴出来看看...  发表于 2014-6-17 23:20

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2014-6-17 23:38:05 | 只看该作者
两种可能,1是你的显示说明文指令没传达窗口中,2是你的说明文显示的位置在窗口外,所以虽然显示了但是你没看到

点评

嗯的确是之前有地方写错了……但是遇到了新的问题……  发表于 2014-6-18 08:04

评分

参与人数 1星屑 +33 收起 理由
taroxd + 33 我猜是1

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
19 小时
注册时间
2014-6-14
帖子
18
3
 楼主| 发表于 2014-6-18 08:03:00 | 只看该作者
本帖最后由 thelians 于 2014-6-18 08:04 编辑

自己搞定了但是遇到了新的问题OTL&……已经更新在主楼
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 2014-6-18 08:48:31 | 只看该作者
本帖最后由 taroxd 于 2014-6-18 09:28 编辑
thelians 发表于 2014-6-18 08:03
自己搞定了但是遇到了新的问题OTL&……已经更新在主楼


方案一:利用 draw_text_ex 绘制文字,并且往绘制的字符串前加入'\\I[icon_id]'来显示图标
方案二:直接利用Window_Base#draw_icon (方法名可能记错),并调整文字的绘制区域
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

5
发表于 2014-6-18 09:45:15 | 只看该作者
关于显示图片,你得先告诉我你现在脚本写到什么程度了
是写出代码之后无效
还是完全没有写代码的思路
还是怎么样

点评

代码已上在下面_(:з」∠)_麻烦了真的很抱歉……  发表于 2014-6-18 18:05
我以为是绘制icon……  发表于 2014-6-18 12:34
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-6-18
帖子
5
6
发表于 2014-6-18 18:05:09 | 只看该作者
抱歉其实代码是我写的orz
之前路由器一直有问题无法上网就托人帮忙发了一下现在终于解决了路由器问题orz

Scene_Menu部分的代码暂时是这个样子↓,然后我目前做到的就是让它显示了我需要的窗口,但是如何在这个空白窗口里定义我需要的图片就……完全没有思路!(跪下)
想要现实的图片不一定是item本身的icon,如果能定义成跟item编号对应的特殊命名图片就更好……(比如item编号是2那么图片名称是2_n之类的)
同样的效果在XP里自写成功,用同样的思路带到VA来就完全没辙了_(:з」∠)_(完全新手)
所以本质就是我完全没搞清VA的代码要怎么绘制指定图像和怎么把它跟其他窗口的东西互相联系起来_(:з」∠)_
麻烦大家了真的很抱歉orz
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Menu
  4. #------------------------------------------------------------------------------
  5. #  菜单画面
  6. #==============================================================================

  7. class Scene_Menu < Scene_MenuBase
  8.   #--------------------------------------------------------------------------
  9.   # ● 开始处理
  10.   #--------------------------------------------------------------------------
  11.   def start
  12.     super
  13.     create_command_window
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 生成指令窗口
  17.   #--------------------------------------------------------------------------
  18.   def create_command_window
  19.     @command_window = Window_MenuCommand.new
  20.     @command_window.set_handler(:item,      method(:command_item))
  21.     @command_window.set_handler(:game_end,  method(:command_game_end))
  22.     @command_window.set_handler(:cancel,    method(:return_scene))
  23.   end
  24.   

  25.   
  26.   #--------------------------------------------------------------------------
  27.   # ● 指令“物品”
  28.   #--------------------------------------------------------------------------
  29.    def command_item
  30.      create_status_window
  31.      create_pic_window
  32.    end
  33.    
  34.   def create_status_window
  35.     @status_window = Window_ItemList.new(160,0,300,200)
  36.     @status_window.viewport = @viewport
  37.      create_help_window
  38.     @status_window.help_window = @help_window
  39.     @status_window.category = :item
  40.     @status_window.activate
  41.     @status_window.index = 0
  42.     @status_window.select_last
  43.     @status_window.set_handler(:cancel, method(:on_personal_cancel))
  44.   end  
  45.   
  46.   def create_pic_window
  47.     @pic_window = Window_Base.new(160,200,200,100)
  48.     @pic_window.viewport = @viewport
  49.   end   
  50.    
  51.   def on_personal_cancel
  52.     @status_window.unselect
  53.     @pic_window.close
  54.     @status_window.close
  55.     @help_window.close
  56.     @command_window.activate
  57.   end
  58.   
  59.   
  60.   
  61. #------------------------
  62. # 指令“结束”
  63. #------------------------

  64.   def command_game_end
  65.     SceneManager.call(Scene_End)
  66.   end

  67. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

7
发表于 2014-6-18 18:13:26 | 只看该作者
本帖最后由 taroxd 于 2014-6-18 18:41 编辑
shiroyomogi 发表于 2014-6-18 18:05
抱歉其实代码是我写的orz
之前路由器一直有问题无法上网就托人帮忙发了一下现在终于解决了路由器问题orz


如果这个窗口需要大量自定义内容的话,为这个窗口单独写一个类吧。写法参考现成的默认脚本。

RGSS3中是主要是使用场景将窗口联系起来的。同时选择窗口也可以通过help_window来控制其他窗口。

我看你大概要两个帮助窗口,就举个例子参考一下吧:
RUBY 代码复制
  1. class Window_ItemPicture < Window_Base
  2.  
  3.   #...
  4.  
  5.   def set_item(item)
  6.     @item = item
  7.     refresh
  8.   end
  9.  
  10.   def refresh
  11.     # draw all what your need
  12.   end
  13.  
  14.   #...
  15. end
  16.  
  17. class Window_Xxx < Window_Selectable # 选择道具的窗口
  18.  
  19.   #...
  20.  
  21.   attr_writer :pic_window
  22.   def update_help
  23.     @help_window.set_item(item)
  24.     @pic_window.set_item(item)
  25.   end
  26.  
  27.   #...
  28.  
  29. end
  30.  
  31. class Scene_Menu < Scene_MenuBase
  32.  
  33.   #...
  34.  
  35.   def create_pic_window
  36.     @pic_window = Window_ItemPicture.new(some_args)
  37.     @xxx_window.pic_window = @pic_window
  38.   end
  39.  
  40.   #...
  41.  
  42. end
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

8
发表于 2014-6-18 18:14:29 | 只看该作者
shiroyomogi 发表于 2014-6-18 18:05
抱歉其实代码是我写的orz
之前路由器一直有问题无法上网就托人帮忙发了一下现在终于解决了路由器问题orz

这个是在窗口中描绘图片的方法(图片文件放在了system目录下,名字叫Frame),你可以参考一下
  1. def refresh
  2.     self.contents.clear
  3.     bitmap = Cache.system("Frame")
  4.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  5.     contents.blt(0, 0, bitmap, rect, 255)
  6.     bitmap.dispose
  7.   end
复制代码

评分

参与人数 1星屑 +100 收起 理由
taroxd + 100 求糖233

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2014-6-18
帖子
5
9
发表于 2014-6-18 21:52:35 | 只看该作者
taroxd 发表于 2014-6-18 18:13
如果这个窗口需要大量自定义内容的话,为这个窗口单独写一个类吧。写法参考现成的默认脚本。

RGSS3中是 ...

我又来了……还是有地方搞不定orz
结合了一下脚本(感谢好人们QAQ),现在中间的窗口可以显示图片了也没有bug,新定义的窗口脚本大概是这样:
  1. class Window_ItemPicture < Window_Base

  2.   def initialize(x, y, width, height)
  3.     super
  4.     refresh
  5.   end

  6.   def set_item(item)
  7.     @item = item
  8.     refresh
  9.   end

  10.   def refresh
  11.     self.contents.clear
  12.    
  13.     bitmap = Cache.system("pic")
  14.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  15.     contents.blt(0, 0, bitmap, rect, 255)
  16.     bitmap.dispose
  17.   end
  18.   
  19.   
  20. end
复制代码
然后在update的地方和创建窗口的地方也插了相应的脚本。
然后!因为不知道怎么让图片跟help窗口的内容一起变化所以也没法验证它是不是应该这么写……我考虑的是每个item分别绘制一张图片,然后按照编号给图片命名,之后就不知道怎么让这个命名体现在在脚本里了……
纠结了两三个小时还是乖乖来问_(:з」∠)_
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

10
发表于 2014-6-18 22:31:14 | 只看该作者
shiroyomogi 发表于 2014-6-18 21:52
我又来了……还是有地方搞不定orz
结合了一下脚本(感谢好人们QAQ),现在中间的窗口可以显示图片了也没 ...

使用sprintf。以下是默认脚本,可供参考
  1.   #--------------------------------------------------------------------------
  2.   # ● 生成文件名
  3.   #     index : 文件索引
  4.   #--------------------------------------------------------------------------
  5.   def self.make_filename(index)
  6.     sprintf("Save%02d.rvdata2", index + 1)
  7.   end
复制代码

点评

本楼的回答没有问题  发表于 2014-6-19 06:18
目前的问题是比较想知道怎么让字符串和道具id对上号……OTL  发表于 2014-6-18 23:51

评分

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

查看全部评分

Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 15:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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