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

Project1

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

[已经解决] 在事件里写哪句脚本可以释放所有窗口(或者改变透明度)

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3645
在线时间
1780 小时
注册时间
2010-12-21
帖子
2288
跳转到指定楼层
1
发表于 2011-1-1 16:13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 黄亦天 于 2011-1-2 16:36 编辑

我添加了一个地图显名脚本,有操控脚本的开关,但是当我关闭这个开关的时候,如果显示地图名的窗口没来得及隐藏,就会一直留在屏幕上……
只有再次开启ESC菜单再关闭之后才会跟着一起关闭,那么在事件里应该写哪句脚本才可以让它被释放掉?
准确说,我想问的是 dispose 的前面到底写什么才能让全部窗口都被释放?
(改成释放总行了吧……)

点评

= = 大哥、你72点vip哪来的... 你那显示地图名的窗口对象名称是什么啊?你干脆把脚本放上来吧  发表于 2011-1-2 13:54

Lv2.观梦者

梦石
0
星屑
620
在线时间
579 小时
注册时间
2010-2-15
帖子
1367
2
发表于 2011-1-1 16:17:37 | 只看该作者
本帖最后由 315038639 于 2011-1-1 16:17 编辑
脚本:exit

以上引用内容为正文,保证全部关光光!

点评

…………  发表于 2011-1-1 16:40
看标题= ="  发表于 2011-1-1 16:21
回复 支持 反对

使用道具 举报

Lv3.寻梦者

弓箭手?剑兰

梦石
0
星屑
4854
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
3
发表于 2011-1-1 16:19:09 | 只看该作者
回复 315038639 的帖子

这个是连游戏也关了,
怎么行,人家应该是要游戏里的窗口关掉。

点评

表示这次回帖只看标题  发表于 2011-1-1 16:19
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
141 小时
注册时间
2010-12-30
帖子
312
4
发表于 2011-1-1 16:22:26 | 只看该作者
回复 黄亦天 的帖子

难道打开菜单的时候该窗口没有被dispose掉吗?
刷新一次画面试试

点评

lz的意思是显示地图名字窗口没被dispose  发表于 2011-1-1 16:34
一个字。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
5
发表于 2011-1-2 12:49:03 | 只看该作者
在Scene_Map里面写一个dispose所有窗口的方法
然后在事件中调用该方法就行

点评

刚才6R根本上不来了……郁闷……  发表于 2011-1-2 14:44
= = 大哥、你72点vip哪来的... 你那显示地图名的窗口对象名称是什么啊? 你干脆把脚本放上来吧  发表于 2011-1-2 13:54
该怎么写?  发表于 2011-1-2 12:50
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3645
在线时间
1780 小时
注册时间
2010-12-21
帖子
2288
6
 楼主| 发表于 2011-1-2 14:44:17 | 只看该作者
回复 诡异の猫 的帖子

新年中了个头彩66VIP……
具体上水区翻一翻就能找到……
脚本是这个:
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ 地图名显示脚本
  6. #     by Yuee
  7. #------------------------------------------------------------------------------
  8. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  9. #==============================================================================

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16.   #--------------------------------------------------------------------------
  17.   # ● 类常量定义
  18.   #--------------------------------------------------------------------------

  19.   # 暂时屏蔽用的开关
  20.   SWITCH = 03

  21.   
  22.   # 窗口位置设定
  23.   NAME_X = 544-220      # 矩形左上顶点X坐标
  24.   NAME_Y = 0       # 矩形左上顶点Y坐标
  25.   NAME_W = 220      # 矩形宽
  26.   NAME_H = 60       # 矩形高
  27.    
  28.   # 显示时间设置
  29.   SHOW_TIME_0 = 15  # 地图名出现前等待的帧数
  30.   SHOW_TIME_1 = 16  # 地图名从不可见变成可见的帧数
  31.   SHOW_TIME_2 = 60  # 地图名完全可见的帧数
  32.   SHOW_TIME_3 = 22  # 地图名从可见变成不可见的帧数
  33.   
  34.   # 完全可见时的透明度设置
  35.   OPACITY_1 = 244   # 边框
  36.   OPACITY_2 = 150   # 背景
  37.   OPACITY_3 = 255   # 文字
  38.   
  39.   # 地图名字的颜色
  40.   TEXT_COLOR = Color.new(255, 255, 255, 255)
  41.    
  42.   #--------------------------------------------------------------------------
  43.   # ● 初始化状态
  44.   #--------------------------------------------------------------------------
  45.   def initialize
  46.     super(NAME_X , NAME_Y, NAME_W, NAME_H)
  47.     # 初始化窗口透明度
  48.     self.opacity = 0
  49.     self.back_opacity = 0
  50.     self.z = 9999
  51.     self.contents_opacity = 0
  52.     self.contents = Bitmap.new(width - 32, height - 32)
  53.     # 剩余帧数初始化
  54.     @show_time = 0
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 输出文字
  58.   #--------------------------------------------------------------------------
  59.   def setname
  60.     if $game_switches[SWITCH]
  61.       # 获取地图ID
  62.       newid = $game_map.map_id
  63.       time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  64.       # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  65.       if newid != @id
  66.         @id = newid
  67.         @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  68.       # 剩余帧数为0是时,全部窗口透明
  69.       elsif @show_time < 1
  70.         self.opacity = 0
  71.         self.back_opacity = 0
  72.         self.contents_opacity = 0
  73.         return
  74.       end      
  75.       self.contents.clear
  76.       self.contents.font.color = TEXT_COLOR
  77.       # 描绘地图名
  78.       self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  79.       # 根本帧数设定窗口透明度
  80.       if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  81.         self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  82.         self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  83.         self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  84.       else
  85.         self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  86.         self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  87.         self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  88.       end
  89.       @show_time -= 1
  90.       $game_switches[SWITCH] = false if @show_time < 0
  91.     end
  92.   end
  93. end

  94. #==============================================================================
  95. # ■ Scene_Map
  96. #------------------------------------------------------------------------------
  97. #  处理地图画面的类。(追加定义)
  98. #==============================================================================

  99. class Scene_Map
  100.   alias smn_start start
  101.   def start
  102.     @mapname = Window_MapName.new
  103.     smn_start
  104.   end
  105.   
  106.   alias smn_dispose terminate
  107.   def terminate
  108.     smn_dispose
  109.     @mapname.dispose
  110.   end
  111.   
  112.   alias smn_update update
  113.   def update
  114.     smn_update
  115.     @mapname.setname
  116.   end
  117. end

  118. #==============================================================================
  119. # ■ Scene_Title
  120. #------------------------------------------------------------------------------
  121. #  处理标题画面的类。(追加定义)
  122. #==============================================================================

  123. class Scene_Title
  124.   alias smn_load load_database
  125.   def load_database
  126.     # 读取地图信息文件
  127.     $data_mapinfos = load_data("Data/MapInfos.rvdata")
  128.     smn_load
  129.   end
  130. end
复制代码
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3121
在线时间
1534 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

7
发表于 2011-1-2 15:11:09 | 只看该作者
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ 地图名显示脚本
  6. #     by Yuee
  7. #------------------------------------------------------------------------------
  8. # 在Main的上方插入一个页,将本脚本复制到那页中即可
  9. #==============================================================================

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16.   #--------------------------------------------------------------------------
  17.   # ● 类常量定义
  18.   #--------------------------------------------------------------------------

  19.   # 暂时屏蔽用的开关
  20.   SWITCH = 03

  21.   
  22.   # 窗口位置设定
  23.   NAME_X = 544-220      # 矩形左上顶点X坐标
  24.   NAME_Y = 0       # 矩形左上顶点Y坐标
  25.   NAME_W = 220      # 矩形宽
  26.   NAME_H = 60       # 矩形高
  27.    
  28.   # 显示时间设置
  29.   SHOW_TIME_0 = 15  # 地图名出现前等待的帧数
  30.   SHOW_TIME_1 = 16  # 地图名从不可见变成可见的帧数
  31.   SHOW_TIME_2 = 60  # 地图名完全可见的帧数
  32.   SHOW_TIME_3 = 22  # 地图名从可见变成不可见的帧数
  33.   
  34.   # 完全可见时的透明度设置
  35.   OPACITY_1 = 244   # 边框
  36.   OPACITY_2 = 150   # 背景
  37.   OPACITY_3 = 255   # 文字
  38.   
  39.   # 地图名字的颜色
  40.   TEXT_COLOR = Color.new(255, 255, 255, 255)
  41.    
  42.   #--------------------------------------------------------------------------
  43.   # ● 初始化状态
  44.   #--------------------------------------------------------------------------
  45.   def initialize
  46.     super(NAME_X , NAME_Y, NAME_W, NAME_H)
  47.     # 初始化窗口透明度
  48.     self.opacity = 0
  49.     self.back_opacity = 0
  50.     self.z = 9999
  51.     self.contents_opacity = 0
  52.     self.contents = Bitmap.new(width - 32, height - 32)
  53.     # 剩余帧数初始化
  54.     @show_time = 0
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 输出文字
  58.   #--------------------------------------------------------------------------
  59.   def setname
  60.     if $game_switches[SWITCH]
  61.       # 获取地图ID
  62.       newid = $game_map.map_id
  63.       time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  64.       # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  65.       if newid != @id
  66.         @id = newid
  67.         @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  68.       # 剩余帧数为0是时,全部窗口透明
  69.       elsif @show_time < 1
  70.         self.opacity = 0
  71.         self.back_opacity = 0
  72.         self.contents_opacity = 0
  73.         return
  74.       end      
  75.       self.contents.clear
  76.       self.contents.font.color = TEXT_COLOR
  77.       # 描绘地图名
  78.       self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  79.       # 根本帧数设定窗口透明度
  80.       if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  81.         self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  82.         self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  83.         self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  84.       else
  85.         self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  86.         self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  87.         self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  88.       end
  89.       @show_time -= 1
  90.       $game_switches[SWITCH] = false if @show_time < 0
  91.     #=================================================
  92.     elsif self.opacity != 0
  93.         self.opacity = 0
  94.         self.back_opacity = 0
  95.         self.contents_opacity = 0
  96.     #=================================================
  97.     end
  98.   end
  99. end

  100. #==============================================================================
  101. # ■ Scene_Map
  102. #------------------------------------------------------------------------------
  103. #  处理地图画面的类。(追加定义)
  104. #==============================================================================

  105. class Scene_Map
  106.   alias smn_start start
  107.   def start
  108.     @mapname = Window_MapName.new
  109.     smn_start
  110.   end
  111.   
  112.   alias smn_dispose terminate
  113.   def terminate
  114.     smn_dispose
  115.     @mapname.dispose
  116.   end
  117.   
  118.   alias smn_update update
  119.   def update
  120.     smn_update
  121.     @mapname.setname
  122.   end
  123. end

  124. #==============================================================================
  125. # ■ Scene_Title
  126. #------------------------------------------------------------------------------
  127. #  处理标题画面的类。(追加定义)
  128. #==============================================================================

  129. class Scene_Title
  130.   alias smn_load load_database
  131.   def load_database
  132.     # 读取地图信息文件
  133.     $data_mapinfos = load_data("Data/MapInfos.rvdata")
  134.     smn_load
  135.   end
  136. end
复制代码
比较暴力的一个做法……

点评

这个很好用~~3Q啦~~  发表于 2011-1-2 15:36
你这脚本吓我一跳,我以为是自己的脚本,听了LX的话在你这个脚本和自己的范例对比了半天……  发表于 2011-1-2 15:28

评分

参与人数 2星屑 +920 收起 理由
八云紫 + 800 认可答案
黄亦天 + 120 突然发现自己能评这么多经验…….

查看全部评分

菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
8
发表于 2011-1-2 15:19:23 | 只看该作者
本帖最后由 诡异の猫 于 2011-1-2 15:29 编辑


不对 搞错这脚本功能了- -
楼上的正解

点评

唔……完全无效……  发表于 2011-1-2 15:32
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-4 21:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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