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

Project1

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

[已经过期] 小白提问:关于小小的针对脚本处理后,好卡卡!什么原...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
108 小时
注册时间
2015-2-9
帖子
12
跳转到指定楼层
1
发表于 2015-3-5 23:43:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 地图显示变量
  3. #  作者:影月千秋
  4. #  版本:V 1.0
  5. #  最近更新:2014.02.08
  6. #  适用:VA
  7. #------------------------------------------------------------------------------
  8. # ● 简介
  9. #  在地图上显示变量,可以附加文字
  10. #==============================================================================
  11. # ● 使用方法
  12. #   将此脚本插入到其他脚本以下,Main以上,在下方进行设置即可
  13. #==============================================================================
  14. # ● 更新
  15. #   V 1.0 2014.02.08 新建
  16. #==============================================================================
  17. # ● 声明
  18. #   本脚本来自【影月千秋】,使用、修改和转载请保留此信息
  19. #==============================================================================
  20.  
  21.  
  22. #==============================================================================
  23. # ■ Smomo::VarWin
  24. #==============================================================================
  25. module Smomo
  26.   module VarWin
  27.     SWI = 100
  28.     # 当此开关打开 才会显示变量
  29.     # 如果想要一直显示 就设为0
  30.  
  31.     Var = [
  32.     # 变量和显示方式
  33.     #·填写方式
  34.     # [[横坐标, 纵坐标], "显示模板", [需要显示的变量ID], 可省略{窗口背景是否可见}]
  35.     # 最后一项如果省略 默认可见
  36.     #  横纵坐标是显示位置左上角的坐标
  37.     #  显示模板是sprintf使用的格式化字符串,对于不懂脚本的人:
  38.     #    使用【%s】来代替变量,使用【%02d】控制变量格式
  39.     #    看不懂的话 下面有例子
  40.     #  需要显示的变量形如【[3,9,10]】依次显示三个变量
  41.     #
  42.     #·例子
  43.     # 先假设1号变量的值为 19,2号为 4
  44.     # 下面两个例子省略前后两个项目 但是实际操作时前面一个必须填写
  45.     # "苹果有%s个, 香蕉有%s个",[1,2]
  46.     #  显示为:苹果有19个, 香蕉有4个
  47.     # "现在是%02d分%02d秒",[1,2]
  48.     #  显示为:现在是19分04秒
  49.     #
  50.     #·特别说明
  51.     # 显示模板中 允许使用跳脱字符和对话框用的控制符 但是控制符需要多些一个\
  52.     #  比如\I[9]绘制九号图标 写成 \\I[9]
  53.     # 换行符之类跳脱字符 原样写即可
  54.     #  比如 \n 还是 \n
  55.  
  56.     # 模板 ↓  复制下面一行(或第二行) 填写后按Ctrl + Q即可生效
  57. #~     [[0,0], "%04d.%02d.%02d", [1,2,3], false],
  58. #~     [[0,0], "口袋上有%s个洞", [4]],
  59.  
  60.       [[0,0], "   杨老邪   ", [1]],
  61.       [[0,42],"疲劳:【%s】\n饥饿:【%s】\n心情:【%s】\n内需:【    】\n         \n         \n         \n         \n         \n         \n         ",[3000,2999,2998,2997]],
  62.       [[0,140],"————————\n头部:【%s】\n身躯:【%s】\n左臂:【%s】\n右臂:【%s】\n左腿:【%s】\n右腿:【%s】",[2997,2996,2995,2994,2993,2992],false],
  63.       [[135,0], "   冷泉策   ", [1]],
  64.       [[135,42],"疲劳:【%s】\n饥饿:【%s】\n心情:【%s】\n内需:【    】\n         \n         \n         \n         \n         \n         \n         ",[3000,2999,2998,2997]],
  65.       [[135,140],"————————\n头部:【%s】\n身躯:【%s】\n左臂:【%s】\n右臂:【%s】\n左腿:【%s】\n右腿:【%s】",[2997,2996,2995,2994,2993,2992],false],
  66.       [[270,0], "   蛇 傅   ", [1]],
  67.       [[270,42],"疲劳:【%s】\n饥饿:【%s】\n心情:【%s】\n内需:【    】\n         \n         \n         \n         \n         \n         \n         ",[3000,2999,2998,2997]],
  68.       [[270,140],"————————\n头部:【%s】\n身躯:【%s】\n左臂:【%s】\n右臂:【%s】\n左腿:【%s】\n右腿:【%s】",[2997,2996,2995,2994,2993,2992],false],
  69.       [[405,0], "   剑玲珑   ", [1]],
  70.       [[405,42],"疲劳:【%s】\n饥饿:【%s】\n心情:【%s】\n内需:【    】\n         \n         \n         \n         \n         \n         \n         ",[3000,2999,2998,2997]],
  71.       [[405,140],"————————\n头部:【%s】\n身躯:【%s】\n左臂:【%s】\n右臂:【%s】\n左腿:【%s】\n右腿:【%s】",[2997,2996,2995,2994,2993,2992],false],
  72.       [[0,325], "                                     \n                                     \n                                     ", [1]],
  73.       [[0,325], "   狗 头   ", [1]],
  74.       [[0,370], "心情:【%s】", [3000], false],
  75.       [[135,325],"疲劳:【    】 饥饿:【    】 内需:【    】\n头部:【    】 身躯:【    】 左臂:【    】\n右臂:【    】 左腿:【    】 右腿:【    】",[3000,2999,2998,2997,2996,2995,2994,2993,2992],false],
  76. #=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+#
  77. #------------------------------------------------------------------------------#
  78. #                               请勿跨过这块区域                                #
  79. #------------------------------------------------------------------------------#
  80. #+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=#
  81.       "close the array"
  82.     ] # close the array
  83.     Var.pop
  84.     Var.each_with_index{|v, i| Var[i][3] = true if v[3].nil?}
  85.   end
  86. end
  87. #==============================================================================
  88. # ■ Window_MoVarShow
  89. #==============================================================================
  90. class Window_MoVarShow < Window_Base
  91.   #--------------------------------------------------------------------------
  92.   # ● 初始化
  93.   #--------------------------------------------------------------------------
  94.   def initialize(x, y, opa, fmt, *varid)
  95.     @fmt = fmt
  96.     @varid = varid
  97.     @vars = []
  98.     @varid.each_with_index{|id, index| @vars[index] = $game_variables[id]}
  99.     super(x, y, *window_size)
  100.     self.openness = 0
  101.     self.opacity = opa ? 255 : 0
  102.     refresh
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 获取窗口合适的大小
  106.   #--------------------------------------------------------------------------
  107.   def window_size
  108.     temp_win = Window_Base.new(Graphics.width, 0, Graphics.width, 1)
  109.     temp_win.reset_font_settings
  110.     sr = temp_win.convert_escape_characters(sprintf(@fmt, *@vars))
  111.     wd = 0
  112.     pos = {:x =>0, :y =>0, :new_x =>0, :height => temp_win.calc_line_height(sr)}
  113.     sr.each_line do |s|
  114.       s.gsub!(/[\n]/){""}
  115.       temp_win.process_character(s.slice!(0, 1), s, pos) until s.empty?
  116.       wd = [pos[:x], wd].max
  117.       pos[:x] = pos[:new_x]
  118.       pos[:y] += pos[:height]
  119.       pos[:height] = temp_win.calc_line_height(s)
  120.     end
  121.     temp_win.dispose
  122.     [wd + standard_padding * 2, pos[:y] + standard_padding * 2]
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 更新
  126.   #--------------------------------------------------------------------------
  127.   def update
  128.     super
  129.     if Smomo::VarWin::SWI == 0 || $game_switches[Smomo::VarWin::SWI]
  130.       open if close?
  131.       refresh if $game_map.need_refresh
  132.     else
  133.       close if open?
  134.     end
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ● 刷新
  138.   #--------------------------------------------------------------------------
  139.   def refresh
  140.     contents.clear
  141.     @varid.each_with_index{|id, index| @vars[index] = $game_variables[id]}
  142.     self.move(self.x, self.y, *window_size)
  143.     draw_text_ex(0, 0, sprintf(@fmt, *@vars))
  144.   end
  145. end
  146. #==============================================================================
  147. # ■ Scene_Map
  148. #==============================================================================
  149. class Scene_Map
  150.   #--------------------------------------------------------------------------
  151.   # ● 生成所有窗口
  152.   #--------------------------------------------------------------------------
  153.   alias :mo_241e43c6451d79ce81a94bc0b22c3ea5_caw :create_all_windows
  154.   def create_all_windows
  155.     mo_241e43c6451d79ce81a94bc0b22c3ea5_caw
  156.     create_mo_var_show_window
  157.   end
  158.   #--------------------------------------------------------------------------
  159.   # ● 生成变量窗口
  160.   #--------------------------------------------------------------------------
  161.   def create_mo_var_show_window
  162.     @mo_var_show_window = []
  163.     Smomo::VarWin::Var.each_with_index do |((x, y), fmt, vars, opa), id|
  164.       @mo_var_show_window[id] = Window_MoVarShow.new(x, y, opa, fmt, *vars)
  165.     end
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 更新画面
  169.   #--------------------------------------------------------------------------
  170.   alias :mo_241e43c6451d79ce81a94bc0b22c3ea5_update :update
  171.   def update
  172.     update_mo_var_show_window
  173.     mo_241e43c6451d79ce81a94bc0b22c3ea5_update 
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 更新变量窗口
  177.   #--------------------------------------------------------------------------
  178.   def update_mo_var_show_window
  179.     @mo_var_show_window.each{|win| win.update}
  180.   end
  181. end



@三途亚梦
@VIPArcher

坐等大神调教。

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
22069
在线时间
9455 小时
注册时间
2012-6-19
帖子
7123

开拓者短篇九导演组冠军

2
发表于 2015-3-5 23:47:33 | 只看该作者
什么叫小小的针对脚本处理……?

点评

60——75这段  发表于 2015-3-6 20:22
你改了哪些地方?  发表于 2015-3-6 18:30
就是改成自己需要的后。  发表于 2015-3-6 16:39
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
108 小时
注册时间
2015-2-9
帖子
12
3
 楼主| 发表于 2015-3-7 12:29:07 | 只看该作者
@三途亚梦
@VIPArcher
@喵呜喵5

坐等大猫= =。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
4
发表于 2015-3-7 13:48:24 | 只看该作者
这个脚本你要这么用的话不卡爆大概都太不可能……
如果你要这么做到理想效果建议你学习下脚本,图书馆就有教你在地图上描绘窗口。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
108 小时
注册时间
2015-2-9
帖子
12
5
 楼主| 发表于 2015-3-7 21:33:17 | 只看该作者
三途亚梦 发表于 2015-3-7 13:48
这个脚本你要这么用的话不卡爆大概都太不可能……
如果你要这么做到理想效果建议你学习下脚本,图 ...

谢谢,但是图书馆的东西有些没有教。
= =。

点评

窗口什么的,可以自己研究默认脚本  发表于 2015-3-7 21:44
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-20 20:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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