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

Project1

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

[已经解决] 这个怎么插到脚本里

[复制链接]

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

跳转到指定楼层
1
发表于 2015-12-5 12:38:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
等待N秒
$game_variables[19] += 1
if $game_variables[19]  ==  60
$game_variables[20] += 1
end
if  $game_variables[20] ==  24
$game_variables[21] += 1
end




如您所见,这是时钟。
我之前是把PlayTime改成时钟。也解决了归零问题。
新的问题是不能加时间。
假设我去旅店睡觉经过多少时间,加进时钟里。

所以我想用变量来表示,操作起来应该更方便。

您可能觉得这可以用公共事件来等待N真执行。

但是公共事件并非一直都是运行的,有些情况下是不动的,比如战斗。


我把$game_variables[19] = 1放到
RUBY 代码复制
  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.     min = @total_sec / 60 % 24
  7.     sec = @total_sec % 60
  8.     $game_variables[19] = 1
  9.     text = sprintf("%02d时%02d分", min, sec)
  10.     self.contents.font.color = normal_color
  11.     self.contents.draw_text(4, 32, 120, 32, text, 2)
  12.   end



这样并没有效果。只有在游戏中执行def refresh时才会有效果。

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv2.观梦者

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
帖子
241
2
发表于 2015-12-5 13:37:03 | 只看该作者
游戏中一秒:Graphics.frame_count % Graphics.frame_rate == 0
当一秒时,你可以 $game_variables[19] += 1 , 总秒数就是 $game_variables[19]
当前秒数:$game_variables[19]  % 60
分钟:$game_variables[19] / 60 % 60
小时:$game_variables[19] / 60 / 60 % 24
天   :$game_variables[19] / 60 / 60 / 24
可以把脚本里 @total_sec = Graphics.frame_count / Graphics.frame_rate
改成 @total_sec = $game_variables[19] ,再加一个天数显示就行了。

评分

参与人数 1星屑 +90 收起 理由
RyanBern + 90 塞糖

查看全部评分

制作XP特效,找我。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

3
发表于 2015-12-5 15:28:43 | 只看该作者
本帖最后由 cinderelmini 于 2015-12-5 15:32 编辑

要加时间的话,其实很简单啊。。
还是弄Graphics.frame_count这个东西……
时间中【脚本】输入
  1. Graphics.frame_count += 60*n
复制代码
60是一秒,n是秒数,自己算一下然后加上去就好啦。

例:去旅馆休息一晚上(12小时):
【脚本】》 Graphics.frame_count += ((60*60)*60)*12
然后赋值变量为游戏时间……

点评

都没填,用计算器把40*秒算出后写上去  发表于 2015-12-5 23:45
或者不要填40,填 Graphics.frame_rate 比较保险。  发表于 2015-12-5 23:30
啊。。抱歉。。60是VA的,一下子没反应过来XP是40…………  发表于 2015-12-5 23:29
已经得出结论了。40*N是可以的  发表于 2015-12-5 19:43
不对啊,我用你说的60*N,结果出来的结果并不是N是秒,N比秒大  发表于 2015-12-5 19:38

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 22:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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