Project1

标题: 劍之飛龍的脚本小技巧 [打印本页]

作者: 劍之飛龍☆    时间: 2008-7-1 05:48
标题: 劍之飛龍的脚本小技巧
学脚本,就要从改脚本开始!不说那些废话开场白了,直接切入。

[LINE]5,#0099FF[/LINE]

显示真实时间
难度:★★☆☆☆
效果图:


简单来讲,就是把菜单中的游戏时间,改成系统时间。
需要改的脚本只有Window_PlayTime 。

首先我们先了解下显示系统时间的原理。

在事件中的脚本中,输入:
  1. t = Time.now
复制代码

这就是说,为变量t代入系统的时间。
那么:
  1. t = Time.now
  2. p t.year
复制代码

就是显示现在的年份。
也就是说:
  1. 年份:year
  2. 小时:hour
  3. 分钟:min
  4. 秒数:sec
复制代码


那么,现在就打开Scene_Menu看看……显示游戏时间的是这一段:
  1.     # 生成游戏时间窗口
  2.     @playtime_window = Window_PlayTime.new
  3.     @playtime_window.x = 0
  4.     @playtime_window.y = 224
复制代码


由此可知,游戏时间是由Window_PlayTime来掌控的,一眼就可以看到:
  1.   
  2.   def refresh
  3.     self.contents.clear
  4.     self.contents.font.color = system_color
  5.     self.contents.draw_text(4, 0, 120, 32, "游戏时间")
  6.     @total_sec = Graphics.frame_count / Graphics.frame_rate
  7.     hour = @total_sec / 60 / 60
  8.     min = @total_sec / 60 % 60
  9.     sec = @total_sec % 60
  10.     text = sprintf("%02d:%02d:%02d", hour, min, sec)
  11.     self.contents.font.color = normal_color
  12.     self.contents.draw_text(4, 32, 120, 32, text, 2)
  13.   end
复制代码

所以,只要联系刚刚讲到的东西,写成:
  1.   def refresh
  2.     self.contents.clear
  3.     self.contents.font.color = system_color
  4.     self.contents.draw_text(4, 0, 120, 32, "游戏时间")
  5.     @total_sec = Graphics.frame_count / Graphics.frame_rate
  6.     hour = @total_sec / 60 / 60
  7.     min = @total_sec / 60 % 60
  8.     sec = @total_sec % 60
  9.     t = Time.now
  10.     text = sprintf("%02d时%02d分%02d秒", t.hour, t.min, t.sec)
  11.     self.contents.font.color = normal_color
  12.     self.contents.draw_text(4, 32, 120, 32, text, 2)
  13.   end
复制代码

(注意:我把“:”改成了“时”、“分”、“秒”)
再测试下,效果如上图所示。


[LINE]5,#0099FF[/LINE]

本帖应该会继续更新,交流小技巧、经验,高手莫PIA……新手入门好用……
作者: 心情de对白    时间: 2008-7-1 05:54
支持个。、虽然很基础的。。····
作者: 越前リョーマ    时间: 2008-7-1 05:59
能不能教一些主站上没有的东西…… [LINE]1,#dddddd[/LINE]版主对此帖的评论:『对啊』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1