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

Project1

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

[已经过期] 如何改时间和位置

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
109 小时
注册时间
2014-1-12
帖子
35
跳转到指定楼层
1
发表于 2014-8-14 11:35:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 许俊兴 于 2014-8-14 11:37 编辑

网上找的脚本,如何改到右下角,如何改成2014年8月01日08:30:30

RUBY 代码复制
  1. #==============================================================================
  2. #                            ■ 时间系统
  3. #------------------------------------------------------------------------------
  4. #                             by 八云 紫
  5. #==============================================================================
  6.  
  7. #==============================================================================
  8. # ■ Time_byz
  9. #------------------------------------------------------------------------------
  10. #  定义 时间相关的 信息。
  11. #==============================================================================
  12.  
  13. module Time_byz
  14.   #--------------初始化定义---------------
  15.   #  起始时间 [秒,分,时,日,月,  年]
  16.   INIT_TIME = [55,58,23,28,02,2008]
  17.   #--------------时间格式定义-------------
  18.   # 时间流失方式
  19.   # true.. 按帧数的倍数流失;false.. 按现实时间流失
  20.   TIME_MODULE = true
  21.   #---------------速度定义----------------
  22.   # 流失速度(越大速度越慢)
  23.   TIME_SPEED = 60
  24.   # 流失速度单位
  25.   # 1..时;2..分;3..秒
  26.   TIME_UNIT = 3
  27.  
  28.   #---------------事件定义----------------
  29.   TIME_EVENT = {
  30.     # 事件的起始条件就是时间,但是时间的格式要与起始时间的相同。
  31.     # 事件使用的是 公共事件,为了避免使用太多的公共事件,所以增加变量操作,
  32.     # 以便于在相同的公共事件里可以使用条件分歧。
  33.     # [秒,分,时,日,月,  年] => [变量ID,变量改变后的值,公共事件ID]
  34.       [00,59,23,28,02,2008] => [1, 1, 1]
  35.   }  # 这个不要去掉
  36.  
  37.   #---------------窗口定义----------------
  38.   WINDOW_X = 0
  39.   WINDOW_Y = 0
  40.  
  41. =begin
  42.  
  43.   ---------------------------------------
  44.              时间间隔的判断
  45.   ---------------------------------------
  46.   1. 首先需要先定义一个计时器
  47.     $game_system.set_byz_timer(id)
  48.     其中的 id 可以是任何数字,字符串。
  49.   2. 然后在需要计算时间间隔的地方使用 条件分歧 里的脚本, 里面可以写上
  50.     $game_system.after_time(id) > 5
  51.     这里的 id 要和定义的时候一致。 这个的意思是 时间经过 5秒后.....
  52.     
  53. =end
  54. end
  55.  
  56. #==============================================================================
  57. # ■ Game_System
  58. #------------------------------------------------------------------------------
  59. #  处理系统附属数据的类。也可执行诸如交通工具、 BGM 等管理之类的功能。
  60. # 本类的实例请参考$game_system 。
  61. #==============================================================================
  62.  
  63. class Game_System
  64.   #--------------------------------------------------------------------------
  65.   # ● 定义实例变量
  66.   #--------------------------------------------------------------------------  
  67.   attr_accessor :time_now
  68.   attr_accessor :byz_timer
  69.   #--------------------------------------------------------------------------
  70.   # ● 初始化对像
  71.   #--------------------------------------------------------------------------  
  72.   alias old_initialize initialize
  73.   def initialize
  74.     if Time_byz::TIME_MODULE
  75.       year = Time_byz::INIT_TIME[5];
  76.       mon  = Time_byz::INIT_TIME[4];
  77.       day  = Time_byz::INIT_TIME[3];
  78.       hour = Time_byz::INIT_TIME[2];
  79.       min  = Time_byz::INIT_TIME[1];
  80.       sec  = Time_byz::INIT_TIME[0];
  81.       @time_now = Time.local(year, mon, day, hour, min, sec);
  82.     else
  83.       @time_now = Time.new;
  84.     end
  85.     @byz_timer = []
  86.     old_initialize
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 增加时间
  90.   #--------------------------------------------------------------------------  
  91.   def add_time(unit)
  92.     case unit
  93.     when 3
  94.       @time_now += 1;
  95.     when 2
  96.       @time_now += 60;
  97.     when 1
  98.       @time_now += 3600;
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 设定时间计时器
  103.   #--------------------------------------------------------------------------  
  104.   def set_byz_timer(id)
  105.     @byz_timer[id] = @time_now;
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 计算时间 (秒数)
  109.   #--------------------------------------------------------------------------
  110.   def after_time(id)
  111.     return 0 if @byz_timer[id] == nil;
  112.     return @time_now - @byz_timer[id];
  113.   end
  114. end
  115. #==============================================================================
  116. # ■ Window_Byz_Time
  117. #------------------------------------------------------------------------------
  118. #  调试画面、个别显示开关及变量的窗口。
  119. #==============================================================================
  120.  
  121. class Window_Byz_Time < Window_Base
  122.   #--------------------------------------------------------------------------
  123.   # ● 初始化对像
  124.   #     x      : 窗口 X 座标
  125.   #     y      : 窗口 Y 座标
  126.   #--------------------------------------------------------------------------
  127.   def initialize(x, y)
  128.     super(x, y, 170, 87);
  129.     if Time_byz::TIME_MODULE
  130.       @time_speed = Time_byz::TIME_SPEED;
  131.     else
  132.       @time_speed = 60;
  133.     end
  134.     [url=home.php?mod=space&uid=134219]@Time[/url] = @time_speed - 1;
  135.     refresh;
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 刷新
  139.   #--------------------------------------------------------------------------
  140.   def refresh
  141.     [url=home.php?mod=space&uid=134219]@Time[/url] += 1;
  142.     if @time_speed == @time;
  143.       $game_system.add_time(Time_byz::TIME_UNIT);
  144.       draw_time($game_system.time_now);
  145.       event_run;
  146.       @time = 0;
  147.     end
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 描绘
  151.   #--------------------------------------------------------------------------
  152.   def draw_time(time)
  153.     self.contents.clear;
  154.     text = $game_system.time_now.strftime("%X")
  155.     self.contents.draw_text(0, 0, 105, WLH, text, 2);
  156.     text = $game_system.time_now.strftime("%Y年%m月%d日");
  157.     self.contents.draw_text(0, 32, 170, WLH, text);
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 启动事件
  161.   #--------------------------------------------------------------------------
  162.   def event_run
  163.     array = ($game_system.time_now.to_a)[0,6];
  164.     if Time_byz::TIME_EVENT[array] != nil
  165.       unless !$scene.is_a?(Scene_Map) or $game_message.visible or $game_temp.in_battle
  166.         variables_id     = Time_byz::TIME_EVENT[array][0];
  167.         variables_number = Time_byz::TIME_EVENT[array][1];
  168.         commonevent_id   = Time_byz::TIME_EVENT[array][2];
  169.         $game_variables[variables_id] = variables_number;
  170.         $game_temp.common_event_id = commonevent_id;
  171.       end
  172.     end
  173.   end
  174. end
  175. #==============================================================================
  176. # ■ Scene_Map
  177. #------------------------------------------------------------------------------
  178. #  处理地图画面的类。
  179. #==============================================================================
  180.  
  181. class Scene_Map < Scene_Base
  182.  
  183.   alias old_start start
  184.   #--------------------------------------------------------------------------
  185.   # ● 开始处理
  186.   #--------------------------------------------------------------------------
  187.   def start
  188.     old_start;
  189.     @time_window = Window_Byz_Time.new(Time_byz::WINDOW_X, Time_byz::WINDOW_Y);
  190.   end
  191.   alias old_terminate terminate
  192.   #--------------------------------------------------------------------------
  193.   # ● 结束处理
  194.   #--------------------------------------------------------------------------
  195.   def terminate
  196.     old_terminate;
  197.     @time_window.dispose;
  198.   end
  199.   alias old_update update
  200.   #--------------------------------------------------------------------------
  201.   # ● 更新画面
  202.   #--------------------------------------------------------------------------
  203.   def update
  204.     old_update;
  205.     @time_window.refresh;
  206.   end
  207. end

点评

详见脚本开头的初始化定义  发表于 2014-8-14 12:25

Lv2.观梦者

梦石
0
星屑
250
在线时间
233 小时
注册时间
2013-8-2
帖子
587
2
发表于 2014-8-14 13:13:22 | 只看该作者
不知道是不是,{:2_276:}窗口定义改一下
我忘了,我要怎么遗忘。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
72
在线时间
51 小时
注册时间
2014-8-6
帖子
65
3
发表于 2014-8-15 03:06:03 | 只看该作者
脚本第16行,= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
109 小时
注册时间
2014-1-12
帖子
35
4
 楼主| 发表于 2014-8-15 10:10:33 | 只看该作者
本帖最后由 许俊兴 于 2014-8-15 10:12 编辑

可是我改过之后,却会

360软件小助手截图20140815100913.png (8.74 KB, 下载次数: 17)

360软件小助手截图20140815100913.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
109 小时
注册时间
2014-1-12
帖子
35
5
 楼主| 发表于 2014-8-15 10:13:49 | 只看该作者
我明明改成了
RUBY 代码复制
  1. #==============================================================================
  2. #                            ■ 时间系统
  3. #------------------------------------------------------------------------------
  4. #                             by 八云 紫
  5. #==============================================================================
  6.  
  7. #==============================================================================
  8. # ■ Time_byz
  9. #------------------------------------------------------------------------------
  10. #  定义 时间相关的 信息。
  11. #==============================================================================
  12.  
  13. module Time_byz
  14.   #--------------初始化定义---------------
  15.   #  起始时间 [秒,分,时,日,月,  年]
  16.   INIT_TIME = [30,30,08,01,08,2014]
  17.   #--------------时间格式定义-------------
  18.   # 时间流失方式
  19.   # true.. 按帧数的倍数流失;false.. 按现实时间流失
  20.   TIME_MODULE = true
  21.   #---------------速度定义----------------
  22.   # 流失速度(越大速度越慢)
  23.   TIME_SPEED = 60
  24.   # 流失速度单位
  25.   # 1..时;2..分;3..秒
  26.   TIME_UNIT = 3
  27.  
  28.   #---------------事件定义----------------
  29.   TIME_EVENT = {
  30.     # 事件的起始条件就是时间,但是时间的格式要与起始时间的相同。
  31.     # 事件使用的是 公共事件,为了避免使用太多的公共事件,所以增加变量操作,
  32.     # 以便于在相同的公共事件里可以使用条件分歧。
  33.     # [秒,分,时,日,月,  年] => [变量ID,变量改变后的值,公共事件ID]
  34.       [00,59,23,28,02,2008] => [1, 1, 1]
  35.   }  # 这个不要去掉
  36.  
  37.   #---------------窗口定义----------------
  38.   WINDOW_X = 0
  39.   WINDOW_Y = 0
  40.  
  41. =begin
  42.  
  43.   ---------------------------------------
  44.              时间间隔的判断
  45.   ---------------------------------------
  46.   1. 首先需要先定义一个计时器
  47.     $game_system.set_byz_timer(id)
  48.     其中的 id 可以是任何数字,字符串。
  49.   2. 然后在需要计算时间间隔的地方使用 条件分歧 里的脚本, 里面可以写上
  50.     $game_system.after_time(id) > 5
  51.     这里的 id 要和定义的时候一致。 这个的意思是 时间经过 5秒后.....
  52.     
  53. =end
  54. end
  55.  
  56. #==============================================================================
  57. # ■ Game_System
  58. #------------------------------------------------------------------------------
  59. #  处理系统附属数据的类。也可执行诸如交通工具、 BGM 等管理之类的功能。
  60. # 本类的实例请参考$game_system 。
  61. #==============================================================================
  62.  
  63. class Game_System
  64.   #--------------------------------------------------------------------------
  65.   # ● 定义实例变量
  66.   #--------------------------------------------------------------------------  
  67.   attr_accessor :time_now
  68.   attr_accessor :byz_timer
  69.   #--------------------------------------------------------------------------
  70.   # ● 初始化对像
  71.   #--------------------------------------------------------------------------  
  72.   alias old_initialize initialize
  73.   def initialize
  74.     if Time_byz::TIME_MODULE
  75.       year = Time_byz::INIT_TIME[5];
  76.       mon  = Time_byz::INIT_TIME[4];
  77.       day  = Time_byz::INIT_TIME[3];
  78.       hour = Time_byz::INIT_TIME[2];
  79.       min  = Time_byz::INIT_TIME[1];
  80.       sec  = Time_byz::INIT_TIME[0];
  81.       @time_now = Time.local(year, mon, day, hour, min, sec);
  82.     else
  83.       @time_now = Time.new;
  84.     end
  85.     @byz_timer = []
  86.     old_initialize
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 增加时间
  90.   #--------------------------------------------------------------------------  
  91.   def add_time(unit)
  92.     case unit
  93.     when 3
  94.       @time_now += 1;
  95.     when 2
  96.       @time_now += 60;
  97.     when 1
  98.       @time_now += 3600;
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 设定时间计时器
  103.   #--------------------------------------------------------------------------  
  104.   def set_byz_timer(id)
  105.     @byz_timer[id] = @time_now;
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 计算时间 (秒数)
  109.   #--------------------------------------------------------------------------
  110.   def after_time(id)
  111.     return 0 if @byz_timer[id] == nil;
  112.     return @time_now - @byz_timer[id];
  113.   end
  114. end
  115. #==============================================================================
  116. # ■ Window_Byz_Time
  117. #------------------------------------------------------------------------------
  118. #  调试画面、个别显示开关及变量的窗口。
  119. #==============================================================================
  120.  
  121. class Window_Byz_Time < Window_Base
  122.   #--------------------------------------------------------------------------
  123.   # ● 初始化对像
  124.   #     x      : 窗口 X 座标
  125.   #     y      : 窗口 Y 座标
  126.   #--------------------------------------------------------------------------
  127.   def initialize(x, y)
  128.     super(x, y, 170, 87);
  129.     if Time_byz::TIME_MODULE
  130.       @time_speed = Time_byz::TIME_SPEED;
  131.     else
  132.       @time_speed = 60;
  133.     end
  134.     [url=home.php?mod=space&uid=134219]@Time[/url] = @time_speed - 1;
  135.     refresh;
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 刷新
  139.   #--------------------------------------------------------------------------
  140.   def refresh
  141.     [url=home.php?mod=space&uid=134219]@Time[/url] += 1;
  142.     if @time_speed == @time;
  143.       $game_system.add_time(Time_byz::TIME_UNIT);
  144.       draw_time($game_system.time_now);
  145.       event_run;
  146.       [url=home.php?mod=space&uid=134219]@Time[/url] = 0;
  147.     end
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ● 描绘
  151.   #--------------------------------------------------------------------------
  152.   def draw_time(time)
  153.     self.contents.clear;
  154.     text = $game_system.time_now.strftime("%X")
  155.     self.contents.draw_text(0, 0, 105, WLH, text, 2);
  156.     text = $game_system.time_now.strftime("%Y年%m月%d日");
  157.     self.contents.draw_text(0, 32, 170, WLH, text);
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● 启动事件
  161.   #--------------------------------------------------------------------------
  162.   def event_run
  163.     array = ($game_system.time_now.to_a)[0,6];
  164.     if Time_byz::TIME_EVENT[array] != nil
  165.       unless !$scene.is_a?(Scene_Map) or $game_message.visible or $game_temp.in_battle
  166.         variables_id     = Time_byz::TIME_EVENT[array][0];
  167.         variables_number = Time_byz::TIME_EVENT[array][1];
  168.         commonevent_id   = Time_byz::TIME_EVENT[array][2];
  169.         $game_variables[variables_id] = variables_number;
  170.         $game_temp.common_event_id = commonevent_id;
  171.       end
  172.     end
  173.   end
  174. end
  175. #==============================================================================
  176. # ■ Scene_Map
  177. #------------------------------------------------------------------------------
  178. #  处理地图画面的类。
  179. #==============================================================================
  180.  
  181. class Scene_Map < Scene_Base
  182.  
  183.   alias old_start start
  184.   #--------------------------------------------------------------------------
  185.   # ● 开始处理
  186.   #--------------------------------------------------------------------------
  187.   def start
  188.     old_start;
  189.     @time_window = Window_Byz_Time.new(Time_byz::WINDOW_X, Time_byz::WINDOW_Y);
  190.   end
  191.   alias old_terminate terminate
  192.   #--------------------------------------------------------------------------
  193.   # ● 结束处理
  194.   #--------------------------------------------------------------------------
  195.   def terminate
  196.     old_terminate;
  197.     @time_window.dispose;
  198.   end
  199.   alias old_update update
  200.   #--------------------------------------------------------------------------
  201.   # ● 更新画面
  202.   #--------------------------------------------------------------------------
  203.   def update
  204.     old_update;
  205.     @time_window.refresh;
  206.   end
  207. end

点评

16行没问题呀  发表于 2014-8-16 10:59
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 21:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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