Project1

标题: 我想在菜单里边加一个窗口显示一段文字怎么整啊? [打印本页]

作者: thzy236    时间: 2012-2-14 07:53
标题: 我想在菜单里边加一个窗口显示一段文字怎么整啊?
本帖最后由 thzy236 于 2012-2-15 15:55 编辑

一共俩问题
1.我想在菜单里边加一个窗口显示一段文字怎么整啊?
2.怎么在那段文字显示一个变量的数值啊?
(我想用事件做个年月日系统)


‘‘

补充一下,变量用时间达成


──thzy236于2012-2-14 07:58补充以上内容’’dsu_plus_rewardpost_czw
作者: iisnow    时间: 2012-2-14 22:05
加入新窗口:
在Scene_Menu的start内,将下面的代码加入最后一行(即end上面)
  1. @my_window = Window_Base.new(x,y,w,h)
复制代码

其中x,y指窗口左上角坐标,w,h指窗口宽和高
推荐这么写:(具体效果,试试就知道了)
  1. @my_window = Window_Base.new(0,@command_window.height,@command_window.width,Graphics.height - @command_window.height - @gold_window.height)
复制代码

然后是往窗口里面写入文字
使用draw_text方法
由于是年月日,是需要更新的,于是要放在update方法里面
于是在Scene_Menu里面写入
  1.   def update
  2.     super
  3.     @my_window.contents.clear  
  4.     @my_window.draw_text(x,y,w,h,"XXXXX" +$game_variables[A].to_s+"XXXXXX",0/1/2)
  5.   end
复制代码
draw_text()中的x,y,w,h与上面相同的意思(但是注意X,Y变成相对于左上角的坐标)即将内容写入由他们确定的矩形区域内
推荐为
  1. 0,0,@my_window.contents_width,@my_window.contents_height
复制代码

0/1/2分别指左/中/右对齐(默认为左,最好居中)
XXXXX就是你想要写入的内容,至于你想要加入的变量,
用“XXXX” + $game_variables[A].to_s + “YYYYY”  (A指的是变量编号)加入字符串中,可以加多个

倘若需要换行或者其他控制方式,使用draw_text_ex(x,y,"string")   这里就不介绍了

这样就行了,但是性能会不好,特别是字符串长的时候…因为更新时不管字符串内容变没变都会clear然后重写,于是需要判据…
不过就这样吧,反正没多大区域

另外吐槽一下,如果是显示当前现实时间的话……没有必要使用变量,Time.now即可……
如果是指特设的游戏时间最好也做丰富一点啊,就一排字不行啊






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