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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 尤莉斯
打印 上一主题 下一主题

汗汗~ 无聊 抢别人的功劳来发下~ 自动存档啦~

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
11
 楼主| 发表于 2007-2-5 18:47:36 | 只看该作者
以下引用美兽于2007-2-5 9:05:00的发言:

我倒明白那个意思,但不明白的是结构

exit本身不是已经有了吗?为什么要判断是否存在???
这句话不是当模块没定义了exit的实例方法
unless method_defined? :exit
则重命名
alias origin_exit exit
那么没定义exit,又是根据什么重命名呢??


看这个:
class << Graphics
  p method_defined? :update
end

module Graphics
  def self.update
  end
  p method_defined? :update
end

上面的结果为 true 下面的结果为 false,因为上面那个是类定义,里面定义了 update,
而下面那个 是模块定义,{/gg}{/gg}{/gg}大概只能这样解释了  

哼哼。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
12
 楼主| 发表于 2007-2-5 18:49:21 | 只看该作者
以下引用杨飞云于2007-2-5 9:46:38的发言:

这段代码写得过于拖沓,而且还有些问题。判断从Scene_Title转到Scene_Load的地方没对。

简化后:

   本帖相关代码如下:
module Kernel
  alias origin_exit exit;
  def exit(*args)
    unless ($game_player.nil?)
      AutoSave.common_save ();
    end
    origin_exit (*args);
  end
end
module AutoSave
  module_function ();
  def common_save ()
    filename = "Save#{$game_temp.last_file_index + 1}.rxdata";
    file = File.open (filename, "wb");
    write_save_data (file);
    file.close ();
  end

  def write_save_data (file)
    characters = [];
    for i in 0 ... $game_party.actors.size
      actor = $game_party.actors ;
      characters.push ([actor.character_name, actor.character_hue]);
    end
    Marshal.dump (characters, file);
    Marshal.dump (Graphics.frame_count, file);
    $game_system.save_count += 1;
    $game_system.magic_number = $data_system.magic_number;
    Marshal.dump ($game_system, file);
    Marshal.dump ($game_switches, file);
    Marshal.dump ($game_variables, file);
    Marshal.dump ($game_self_switches, file);
    Marshal.dump ($game_screen, file);
    Marshal.dump ($game_actors, file);
    Marshal.dump ($game_party, file);
    Marshal.dump ($game_troop, file);
    Marshal.dump ($game_map, file);
    Marshal.dump ($game_player, file);
  end
end



[本贴由作者于 2007-2-5 9:53:23 最后编辑]



{/gg}{/gg}{/gg} 拜托 问一句  这个脚本里看懂了吗,删除了那些到底有啥作用?{/gg}

随便给你一个错误的操作吧:你把你的这个脚本放进去,然后按F12,再点那个叉叉,。。。报错,,,其他的地方不需解释了。。。。
哼哼。。。。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-7
帖子
28
13
发表于 2007-2-5 18:54:06 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
14
 楼主| 发表于 2007-2-5 18:59:34 | 只看该作者
{/gg} 漏掉 Scene_Load

不过

if @scene_proc.nil?
   @last_scene = nil.class
   @scene_proc = proc do |value|
     if value.nil? or value.is_a?(Scene_Title)
       if @last_scene != NilClass and @last_scene != Scene_Title
         AutoSave.common_save
       end
     end
     @last_scene = value.type
   end
   trace_var(:$scene,@scene_proc)
end

你知道这部分做啥的  删了没影响????
哼哼。。。。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-7
帖子
28
15
发表于 2007-2-5 19:53:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-20
帖子
213
16
 楼主| 发表于 2007-2-5 20:05:01 | 只看该作者
呃 是的 rm的退出一共就三种情况
1、exit
2、$scene = nil
3、断电之类的 -_______-bbb
哼哼。。。。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-10-7
帖子
28
17
发表于 2007-2-5 21:16:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
53 小时
注册时间
2007-5-3
帖子
30
18
发表于 2007-6-28 22:34:25 | 只看该作者
这个脚本有问题,对话时关掉游戏,就会动弹不得,请想出解决办法。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

苹果梨

梦石
0
星屑
43
在线时间
6 小时
注册时间
2007-2-14
帖子
720
19
发表于 2007-6-29 08:32:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

20
发表于 2007-6-30 02:55:36 | 只看该作者
记得Ruby里有个at_exit
RMXP里还有么?
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-13 19:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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