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

Project1

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

[已经解决] 如何保存自建窗口和自建全局变量?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3680
在线时间
1783 小时
注册时间
2010-12-21
帖子
2293
跳转到指定楼层
1
发表于 2011-1-20 23:10:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 黄亦天 于 2011-1-22 18:24 编辑

我用这个方法自建了一个窗口
http://rpg.blue/thread-163500-1-1.html
但是存档后再读取就无效了……
如何才能让其保存到存档里?
另外我在事件脚本里将一个全局变量$aaa 带入了一个数值,如何才能将这个变量其保存到存档中?


黄亦天于2011-1-20 23:31补充以下内容:
另外想再问一下,如何判定这个窗口是否建立?

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
12
发表于 2011-1-22 23:35:41 | 只看该作者
回复 因幡·帝 的帖子

Window 有 Bitmap 类型的成员,因此。理论上这些 RGSS 对象都是可以序列化的,只要去定义一下 marshal_dump、marshal_load 或者 _dump、_load 等方法即可。柳之一以前提出的那个 Marshal Bitmap 的算法就是一切的基础。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-1-12
帖子
6
11
发表于 2011-1-22 18:49:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

弓箭手?剑兰

梦石
0
星屑
4864
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
10
发表于 2011-1-22 18:16:29 | 只看该作者
嗯~上楼(八云?)说得对,不能储存物件的,
只能储存数据,不然出错。

新建一个自己用来储存数据的类,
$XXXXX = 那个类
再用实例变量,将数据记录下来,
最后就是在save。

然而,要读取时就要这样:
比如在Map里可以在可以修改Spriteset_Map的设置,
或者参考:【强势更新!】计时器/秒标强及美化 v1.3 (多计时,顺倒数)
的做法,话说最初弄成多计时器的时候,是用$game_system(Game_System)来储存活动块,
导致存档失误,于是把活动块改在Spriteset_Map和Spriteset_Battle里存放。
要不我给个那个无法存档的版本给你。

点评

已经解决了的说…… 不过感觉我那个本来就复杂的计时器变得更复杂了……  发表于 2011-1-22 18:24
ps:Spriteset_Map和Spriteset_Battle的@more_timer[多计时序号](不是实例变量)  发表于 2011-1-22 18:18
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-1-12
帖子
6
9
发表于 2011-1-22 13:59:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3680
在线时间
1783 小时
注册时间
2010-12-21
帖子
2293
8
 楼主| 发表于 2011-1-22 13:57:14 | 只看该作者
本帖最后由 黄亦天 于 2011-1-22 13:58 编辑

回复 fux2 的帖子

OTZ 我完全混乱了……
我在事件里是这么写的:
  1. $t2t = 7200
复制代码
  1. $t2x = -5   # X坐标
  2. $t2y = -5   # Y坐标
  3. size = 30   # 字号
  4. $timer2 = Window_Base.new($t2x,$t2y,600,90)
  5. $timer2.contents.font.size = size
  6. $timer2.contents.font.name = "黑体"  
  7. R = 255     
  8. G = 174     
  9. B = 0      
  10. $timer2.contents.font.color=Color.new(R,G,B)
  11. $timer2.opacity = 0
复制代码
然后开启开关1,执行并行事件
内容如下:
  1. $t2 = "#{$t2t}帧"
  2. $timer2.contents.clear
  3. if $game_switches[2] == false
  4. $timer2.contents.draw_text(0,0,550,35,$t2)
  5. end
复制代码
我只知道该怎么保存$t2t这个变量,但是不知道该怎么保存这个窗口……
用系统变量的话,应该是替换掉什么呢……依旧是各种错误弹窗……
绿坝娘素材库企划

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
265
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

7
发表于 2011-1-22 13:53:36 | 只看该作者
窗口并不是保存的,窗口是重新生成的,你只要保证窗口里需要的数据都保存就好了。

点评

实际操作中很少有人会保存窗口的吧,一般有相关的数据就行了。重生成一个又不麻烦……  发表于 2011-1-22 13:59
当然也是可以保存的=v=  发表于 2011-1-22 13:54

评分

参与人数 1星屑 +540 收起 理由
夕阳武士 + 540 well done

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39866
在线时间
7493 小时
注册时间
2009-7-6
帖子
13485

开拓者贵宾

6
发表于 2011-1-22 13:17:45 | 只看该作者
本帖最后由 fux2 于 2011-1-22 13:19 编辑

回复 shua1125 的帖子

$game_variables[1]保存窗口对象不行么?
你创建窗口总要有类似
@item = Window_Item.new这样的代码吧?
把@item这个对象传递给存档的方法或者用全局变量保存
$item = Window_Item.new
保存的时候再dump进去好了
这个窗口对象内的一切变量都会保存.(一般的)
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
610
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

5
发表于 2011-1-22 03:06:35 | 只看该作者
其實最簡單的方法就是用系統變量來存
$game_variables[1] = 某數值或窗口等等...

点评

关于窗口里的文字信息颜色字体等设定也不知道该怎么保存呐……  发表于 2011-1-22 03:41
可问题是不知道【窗口】该怎么保存…… 试过很多种方法,都出错了的说……  发表于 2011-1-22 03:23
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
235
在线时间
158 小时
注册时间
2010-10-8
帖子
143
4
发表于 2011-1-22 02:45:29 | 只看该作者
12小时了……
自顶一下……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 17:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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