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

Project1

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

[已经解决] 读取电脑日期和时间

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
46 小时
注册时间
2014-1-13
帖子
57
跳转到指定楼层
1
发表于 2014-11-9 18:11:03 手机端发表。 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想在游戏里加一个脚本,如果今天是几月几日,则……这种怎么做?
还有就是每天的12:00自动触发一个事件。怎么做?最好是脚本。

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-11-9 18:23:00 | 只看该作者
使用 Time.now,详情参考Ruby文档

第二个要求可以在场景的 update 中每帧判断一次时间
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2014-11-9 20:00:42 | 只看该作者
本帖最后由 tseyik 于 2014-11-9 20:05 编辑

現実時刻(=PC時計)取得。
使用方法
在事件指令的「脚本」使用以詞法。
nrt_year(n)  :年数存入変数n
nrt_month(n)  :月数存入変数n
nrt_day(n)  :日数存入変数n
nrt_hour(n)  :時数存入変数n
nrt_min(n)  :分数存入変数n
nrt_sec(n)  :秒数存入変数n
nrt_wday(n)  :曜日数(星期)存入変数n(0星期日、1星期一...)

脚本中
#常月~秒自動取得(予設不取得)及使用変数ID
  ALLWAYS_MODE = false
  AW_MONTH = 1  #月を受け取る変数ID
  AW_DAY = 2    #日を受け取る変数ID
  AW_HOUR = 3   #時を受け取る変数ID
  AW_MIN = 4    #分を受け取る変数ID
  AW_SEC = 5    #秒を受け取る変数ID
end



  1. #==============================================================================
  2. #                   「リアル時刻の取得」(ACE) ver1.0
  3. #   製作者:奈々(なな)
  4. #   へぷたなすくろーる http://heptanas.mamagoto.com/
  5. #
  6. #   ◇使用規約
  7. #   使用される場合はスクリプト作成者として「奈々」を明記して下さい。
  8. #   このスクリプトを改変したり、改変したものを配布するなどは自由ですが
  9. #   その場合も元のスクリプトの作成者として名前は載せて下さい。
  10. #
  11. #------------------------------------------------------------------------------
  12. #
  13. #   現実の時刻を(PCの時計から)変数に入れることができます。
  14. #   期間限定イベントや、某ど○ぶつの森のようなシステムにどうぞ。
  15. #   
  16. #   使い方はイベントコマンドの「スクリプト」で行います。
  17. #   nrt_year(n)   変数n番に年が入ります。
  18. #   nrt_month(n)           月
  19. #   nrt_day(n)             日
  20. #   nrt_hour(n)            時
  21. #   nrt_min(n)             分
  22. #   nrt_sec(n)             秒
  23. #   nrt_wday(n)   曜日(0が日曜、1が月曜...)
  24. #   
  25. #   また、拡張機能が2つあります。(falseをtrueに変えると有効になる)
  26. #   1つはセーブ時とロード時に日数を変数に取得する機能です。
  27. #   ロード時の日数からセーブ時の日数を引けば「何日後に再開したか」が分かります。
  28. #   
  29. #   もう1つは時刻を常に変数に取得し続ける機能です。
  30. #
  31. #==============================================================================
  32. # ◇拡張機能
  33. module Nana
  34. module Real_Time
  35.   
  36.   #セーブ&ロード時に日数取得
  37.   #日数は、一ヶ月が30日、一年が360日と換算
  38.   SAVE_LOAD_MODE = false
  39.   SAVE_DAYS = 1 #セーブ時に受け取る変数ID
  40.   LOAD_DAYS = 2 #ロード時に受け取る変数ID
  41.   
  42.   #常に月~秒までを取得
  43.   ALLWAYS_MODE = false
  44.   AW_MONTH = 1  #月を受け取る変数ID
  45.   AW_DAY = 2    #日を受け取る変数ID
  46.   AW_HOUR = 3   #時を受け取る変数ID
  47.   AW_MIN = 4    #分を受け取る変数ID
  48.   AW_SEC = 5    #秒を受け取る変数ID
  49. end
  50. end

  51. if Nana::Real_Time::SAVE_LOAD_MODE == true
  52. #==============================================================================
  53. # ■ DataManager
  54. #------------------------------------------------------------------------------
  55. #  データベースとゲームオブジェクトを管理するモジュールです。ゲームで使用する
  56. # ほぼ全てのグローバル変数はこのモジュールで初期化されます。
  57. #==============================================================================
  58. module DataManager
  59.   #--------------------------------------------------------------------------
  60.   # ○ セーブの実行
  61.   #--------------------------------------------------------------------------
  62.   def self.save_game(index)
  63.     x = Time.now
  64.     $game_variables[Nana::Real_Time::SAVE_DAYS] = x.year * 360 + x.month * 30 + x.day
  65.     begin
  66.       save_game_without_rescue(index)
  67.     rescue
  68.       delete_save_file(index)
  69.       false
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ○ ロードの実行
  74.   #--------------------------------------------------------------------------
  75.   def self.load_game(index)
  76.     load_game_without_rescue(index) rescue false
  77.     x = Time.now
  78.     $game_variables[Nana::Real_Time::LOAD_DAYS] = x.year * 360 + x.month * 30 + x.day
  79.   end
  80. end
  81. end

  82. if Nana::Real_Time::ALLWAYS_MODE == true
  83. #==============================================================================
  84. # ■ Scene_Base
  85. #------------------------------------------------------------------------------
  86. #  ゲーム中の全てのシーンのスーパークラスです。
  87. #==============================================================================

  88. class Scene_Base
  89.   #--------------------------------------------------------------------------
  90.   # ◎ フレーム更新
  91.   #--------------------------------------------------------------------------
  92.   alias nrt_update update
  93.   def update
  94.     nrt_update
  95.     x = Time.now
  96.     $game_variables[Nana::Real_Time::AW_MONTH] = x.month
  97.     $game_variables[Nana::Real_Time::AW_DAY] = x.day
  98.     $game_variables[Nana::Real_Time::AW_HOUR] = x.hour
  99.     $game_variables[Nana::Real_Time::AW_MIN] = x.min
  100.     $game_variables[Nana::Real_Time::AW_SEC] = x.sec
  101.   end
  102. end
  103. end

  104. #==============================================================================
  105. # ■ Game_Interpreter
  106. #------------------------------------------------------------------------------
  107. #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
  108. # Game_Troop クラス、Game_Event クラスの内部で使用されます。
  109. #==============================================================================

  110. class Game_Interpreter
  111.   #--------------------------------------------------------------------------
  112.   # ● 年を変数に代入
  113.   #--------------------------------------------------------------------------
  114.   def nrt_year(id)
  115.     x = Time.now
  116.     $game_variables[id] = x.year
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 月を変数に代入
  120.   #--------------------------------------------------------------------------
  121.   def nrt_month(id)
  122.     x = Time.now
  123.     $game_variables[id] = x.month
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 日を変数に代入
  127.   #--------------------------------------------------------------------------
  128.   def nrt_day(id)
  129.     x = Time.now
  130.     $game_variables[id] = x.day
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 時を変数に代入
  134.   #--------------------------------------------------------------------------
  135.   def nrt_hour(id)
  136.     x = Time.now
  137.     $game_variables[id] = x.hour
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 分を変数に代入
  141.   #--------------------------------------------------------------------------
  142.   def nrt_min(id)
  143.     x = Time.now
  144.     $game_variables[id] = x.min
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 秒を変数に代入
  148.   #--------------------------------------------------------------------------
  149.   def nrt_sec(id)
  150.     x = Time.now
  151.     $game_variables[id] = x.sec
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 曜日を変数に代入(0が日曜)
  155.   #--------------------------------------------------------------------------
  156.   def nrt_wday(id)
  157.     x = Time.now
  158.     $game_variables[id] = x.wday
  159.   end
  160. end

复制代码

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

4
发表于 2014-11-9 20:11:22 | 只看该作者
本帖最后由 myownroc 于 2014-11-9 21:02 编辑
  1. t = Time.now.to_a # => [second, minute, hour, day, month, year, wday, yday, isdst, zone]
复制代码
说明:
second:秒
minute:分钟
hour:小时
day:日
month:月
year:年
wday:星期(星期天为0)
yday:第yday天
isdst:有无夏令时
zone:时区

这样判断日期:
  1. if t[3] == day && t[4] == month
  2. end
复制代码
12:00触发事件就要用一个并行事件
事件的第一项内容为脚本:
  1. @h = Time.now.to_a[2]
  2. @m = Time.now.to_a[1]
复制代码
然后用条件分歧,选脚本:
  1. @h == 12 && @m == 0
复制代码
进行判断

点评

手抖to_a没写…另外楼主想获得具体时刻……  发表于 2014-11-9 21:03
Time.now 什么时候变成返回数组了…… Time 这么多方法直接用就好,干嘛转成数组  发表于 2014-11-9 20:27

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 05:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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