- 注册时间
- 2009-6-23
- 最后登录
- 2009-7-18
③业余
- 积分
- 153
|
这是改进后的传统方式计时脚本。原来的计时方式不变,还是12进制(12帧为一个时辰,12个时辰为一天,12天为一月,12月为一年(这样的计时虽然不合理,但对于游戏来说并不存在)),现在以12年为周期不断循环。并且将原来两个脚本整合为一个。直接删除原脚本中的Window_PlayTime和Window_Steps,在Main前insert本脚本,然后,Scene_Menu中45到48行的内容 (如下)
# 生成步数窗口
@steps_window = Window_Steps.new
@steps_window.x = 0
@steps_window.y = 320
73行的 @steps_window.dispose和84行的 @steps_window.update必须删去,否则会出错。如果使用本脚本,这些内容删去后对游戏没有任何影响请放心。其他修改游戏时间和步数的脚本则无法兼容,不公我想使用了本脚本的话,也就用不到其他的同类脚本了。
正文如下
#==============================================================================
# ■ Window_PlayTime
#------------------------------------------------------------------------------
# 菜单画面显示年月日的窗口。 ————作者铩羽
#==============================================================================
class Window_PlayTime < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 0, 160, 192)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "天元纪年")
self.contents.draw_text(0, 64, 60, 32, "时辰")
@total_sec = Graphics.frame_count / Graphics.frame_rate
@years = @total_sec / 12 / 12 / 12 / 12 % 12
months = @total_sec / 12 / 12 / 12 % 12
days = @total_sec / 12 / 12 % 12
times = @total_sec / 12 % 12
if @years == 0
year = "子鼠"
elsif @years == 1
years = "丑牛"
elsif @years == 2
years = "寅虎"
elsif @years == 3
year = "卯兔"
elsif @years == 4
year = "辰龙"
elsif @years == 5
year = "巳蛇"
elsif @years == 6
year = "午马"
elsif @years == 7
year = "未羊"
elsif @years == 8
year = "申猴"
elsif @years == 9
year = "酉鸡"
elsif @years == 10
year = "戌狗"
elsif @years == 11
year = "亥猪"
end
if months == 0
month = "正"
elsif months == 1
month = "贰"
elsif months == 2
month = "叁"
elsif months == 3
month = "肆"
elsif months == 4
month = "伍"
elsif months == 5
month = "陆"
elsif months == 6
month = "柒"
elsif months == 7
month = "捌"
elsif months == 8
month = "玖"
elsif months == 9
month == "拾"
elsif months == 10
month = "拾壹"
elsif months == 11
month = "腊"
end
if days == 0
day = "初壹"
elsif days == 1
day = "初贰"
elsif days == 2
day = "初叁"
elsif days == 3
day = "初肆"
elsif days == 4
day = "初伍"
elsif days == 5
day = "初陆"
elsif days == 6
day = "初柒"
elsif days == 7
day = "初捌"
elsif days == 8
day = "初玖"
elsif days == 9
day = "初拾"
elsif days == 10
day = "月末"
elsif days == 11
day = "月终"
end
if times == 0
time = "子"
elsif times == 1
time = "丑"
elsif times == 2
time = "寅"
elsif times == 3
time = "卯"
elsif times == 4
time = "辰"
elsif times == 5
time = "巳"
elsif times == 6
time = "午"
elsif times == 7
time = "未"
elsif times == 8
time = "申"
elsif times == 9
time = "酉"
elsif times == 10
time = "戌"
elsif times == 11
time = "亥"
end
texta = sprintf("%s年%s月%s",year,month,day)
self.contents.font.color = normal_color
self.contents.draw_text(4, 32, 120, 32, texta, 2)
textb = sprintf("%s时",time)
self.contents.font.color = normal_color
self.contents.draw_text(30, 64, 100, 32, textb, 2)
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
if @years >= 12
Graphics.frame_count = 1
elsif Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end |
|