Project1

标题: 【vx+va】地图上显示变量(改) [打印本页]

作者: lqn619    时间: 2012-1-19 19:32
标题: 【vx+va】地图上显示变量(改)
本帖最后由 lqn619 于 2012-1-19 19:33 编辑

初学脚本,还望多多指教


地图上显示变量

vx,va通用,vx需要改窗口坐标
脚本改自【非法用户】地图上显示变量,原帖见:(用于vx)
http://rpg.blue/forum.php?mod=viewthread&tid=83359

增加了开关控制功能,可以通过开关控制窗口是否显示

可用于解答以下问题:http://rpg.blue/thread-219975-1-1.html



脚本内容:
  1. #encoding:utf-8
  2. #------------------------------------------------------------------------
  3. #■ 地图上显示变量
  4. #   原作者:非法用户  lqn619修改并增加开关控制显示功能  脚本来自于66RPG
  5. #------------------------------------------------------------------------
  6.   # 使用者设定部分
  7.   $text = "HP:"       #描述文字
  8.   $v_id = 1           #显示变量的编号
  9.   $s_id = 1           #控制是否显示的开关
  10. #------------------------------------------------------------------------

  11. class Window_Variables < Window_Base
  12.   def initialize
  13.     super(448,368,96,48)                    # 创建大小
  14.     @text = ""                              # 初始化内容
  15.     @variable = 0
  16.     refresh                                 #调用refresh方法(下文定义)
  17.   end
  18.   def refresh                               #定义refresh方法
  19.     if $game_switches[$s_id] == false       #判断是否显示窗口
  20.        self.visible = false
  21.     else
  22.       self.visible = true
  23.     end
  24.     if @text != $text or @variable != $game_variables[$v_id]     #内容变化时
  25.       self.contents.clear                                        #清除窗口的位图
  26.       self.contents.draw_text(0,0,64,24,$text)                   #重绘
  27.       self.contents.draw_text(0,0,64,24,$game_variables[$v_id].to_s,2)
  28.       @type = $type                                              # 代入当前内容
  29.       @owner = $owner
  30.     end   
  31.   end
  32. end


  33. class Scene_Map < Scene_Base
  34.   alias new_start start                     #生成窗体
  35.   def start
  36.     new_start
  37.     @varia_window = Window_Variables.new
  38.   end
  39.   alias new_update update                   #更新窗体
  40.   def update
  41.     new_update
  42.     @varia_window.refresh
  43.   end
  44.   alias new_terminate terminate             #消除窗体
  45.   def terminate
  46.     @varia_window.dispose
  47.     new_terminate
  48.   end
  49. end
复制代码
截图:

作者: 越前リョーマ    时间: 2012-1-19 19:49
http://rpg.blue/forum.php?mod=vi ... 0911&highlight=

这个东西功能更强大、完整、丰富。
作者: zeldafd    时间: 2012-1-20 23:43
但是樓上…那只是vx啊。而樓主是va也可用啊。
作者: 怕鼠的猫    时间: 2012-1-22 12:48
本帖最后由 怕鼠的猫 于 2012-1-26 17:26 编辑

窗口类new出来放到某个Scene中,不用改动Scene中的update,也能自动刷新。

  1. #怕鼠的猫
  2. #RMVA上显示1号变量的窗口,自动更新。

  3. class Mywin < Window_Gold
  4.    def refresh
  5.     contents.clear
  6.     #显示1号变量
  7.     draw_currency_value($game_variables[1], '<=v[1] ', 4, 0, contents.width - 8)
  8.   end
  9.   
  10.   def update
  11.     refresh
  12.   end
  13.   
  14. end
  15. #####################################

  16. class Scene_Map
  17.   def create_location_window
  18.     @map_name_window = Window_MapName.new
  19.     @mywindow=Mywin.new
  20.   end
  21. end
  22. #######################################
  23. #完事
复制代码
@退屈£无聊
多多指教。
作者: 念旧    时间: 2012-1-29 13:51
那么如何显示多个变量呢?
作者: Kimu    时间: 2012-1-29 20:30
地图显示变量通常有两种用途:
1.显示游戏的各种数值,最常见的就是HP+SP之类的
2.显示各种变量,方便Scripter调试

如果是第二种,一般都是自己写一个简易的临时用用就行了

如果是第一种,LZ的脚本相对要简陋一些,可以考虑多加一些东西

当然也有情况需要显示一些全局变量[事件可以直接调用的那种],LZ可以再完善一下,多变量显示并且可以随时更改需要显示的变量
窗口的高度变为动态.
作者: ohyee    时间: 2012-3-24 21:34
收藏一会试试
作者: jy03606554    时间: 2013-6-26 11:30
这个脚本怎么调用呢?(新手看不懂)
作者: knifish    时间: 2020-7-29 20:05
Kimu 发表于 2012-1-29 20:30
地图显示变量通常有两种用途:
1.显示游戏的各种数值,最常见的就是HP+SP之类的
2.显示各种变量,方便Scripter ...

想用第二种,但是不想要系统的框框,想要直接一个数值有办法吗。改window图片不算
作者: knifish    时间: 2020-7-29 20:07
怕鼠的猫 发表于 2012-1-22 12:48
窗口类new出来放到某个Scene中,不用改动Scene中的update,也能自动刷新。@退屈£无聊
多多指教。 ...

有什么办法只显示数值,不显示框框吗
作者: alexncf125    时间: 2020-7-29 20:41
knifish 发表于 2020-7-29 20:07
有什么办法只显示数值,不显示框框吗

self.opacity = 0
作者: knifish    时间: 2020-9-6 01:40
alexncf125 发表于 2020-7-29 20:41
self.opacity = 0

太牛了!完美的解决了我的问题,太棒啦!
作者: knifish    时间: 2020-9-6 01:54
alexncf125 发表于 2020-7-29 20:41
self.opacity = 0

请问怎么设置显示坐标呢,我改了半天都还是在左上角
作者: alexncf125    时间: 2020-9-6 07:47
knifish 发表于 2020-9-6 01:54
请问怎么设置显示坐标呢,我改了半天都还是在左上角

第14行
super(448,368,96,48)                    # 创建大小

其中,
448为窗口的x坐标
368为窗口的y坐标
96为窗口的宽度
48为窗口的高度
作者: knifish    时间: 2020-9-7 00:37
alexncf125 发表于 2020-9-6 07:47
第14行
super(448,368,96,48)                    # 创建大小

其实我问的还是四楼的脚本啦
作者: alexncf125    时间: 2020-9-7 07:12
knifish 发表于 2020-9-7 00:37
其实我问的还是四楼的脚本啦

4L的脚本啊...那么第22行
@mywindow=Mywin.new
下方加上
@mywindow.x = 123
@mywindow.y = 321
作者: knifish    时间: 2020-9-7 13:14
alexncf125 发表于 2020-9-7 07:12
4L的脚本啊...那么第22行
@mywindow=Mywin.new
下方加上

大神,请受小弟一拜,帮了我大忙了!最后再问一个问题,4L的这个脚本可以控制显示吗?
作者: alexncf125    时间: 2020-9-7 13:57
knifish 发表于 2020-9-7 13:14
大神,请受小弟一拜,帮了我大忙了!最后再问一个问题,4L的这个脚本可以控制显示吗? ...

  1. def refresh
  2.   contents.clear
  3.   #显示1号变量
  4.   draw_currency_value($game_variables[1], '<=v[1] ', 4, 0, contents.width - 8)
  5.   self.visible = $game_switches[1]
  6. end
复制代码

作者: knifish    时间: 2020-9-7 22:28
alexncf125 发表于 2020-9-7 13:57


奇怪,这句加上之后文字就不显示了
作者: alexncf125    时间: 2020-9-7 22:49
knifish 发表于 2020-9-7 22:28
奇怪,这句加上之后文字就不显示了

你不是问"怎样可以控制显示"吗?
加了这句后, 你1号开关没开启, 当然就不显示了
作者: knifish    时间: 2020-9-7 22:58
alexncf125 发表于 2020-9-7 22:49
你不是问"怎样可以控制显示"吗?
加了这句后, 你1号开关没开启, 当然就不显示了 ...

对,就是开启开关以后字也不显示的,把透明那句去掉就只显示框,字没了
作者: alexncf125    时间: 2020-9-7 23:02
本帖最后由 alexncf125 于 2020-9-7 23:27 编辑
knifish 发表于 2020-9-7 22:58
对,就是开启开关以后字也不显示的,把透明那句去掉就只显示框,字没了 ...


RUBY 代码复制
  1. #怕鼠的猫
  2. #RMVA上显示1号变量的窗口,自动更新。
  3.  
  4. class Mywin < Window_Gold
  5.    def refresh
  6.     self.opacity = 0
  7.     contents.clear
  8.     #显示1号变量
  9.     draw_currency_value($game_variables[1], '<=v[1] ', 4, 0, contents.width - 8) if $game_switches[1]
  10.   end
  11.  
  12.   def update
  13.     refresh
  14.   end
  15.  
  16. end
  17. #####################################
  18.  
  19. class Scene_Map
  20.   def create_location_window
  21.     @map_name_window = Window_MapName.new
  22.     @mywindow=Mywin.new
  23. @mywindow.x = 123
  24. @mywindow.y = 321
  25.   end
  26. end
  27. #######################################
  28. #完事

作者: knifish    时间: 2020-9-8 00:04
alexncf125 发表于 2020-9-7 23:02
#怕鼠的猫
#RMVA上显示1号变量的窗口,自动更新。

完美,谢谢大神!




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