赞 | 0 |
VIP | 187 |
好人卡 | 12 |
积分 | 1 |
经验 | 6042 |
最后登录 | 2012-10-8 |
在线时间 | 333 小时 |
Lv1.梦旅人 穿越一季:朔
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 333 小时
- 注册时间
- 2007-4-11
- 帖子
- 5369
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 后知后觉 于 2009-12-5 00:59 编辑
Say:脚本与事件共行。奇思妙想者居上
So.什么方便用什么
友情提示:坚持走事件征途的同学可以尝试一下开拓自己的制作思路.
◆第四话◆
<时间的脚步>
进度依然灰常快的{/hx}。
因为今天这一讲依然极为简单,所以依然老少适宜.
这个在主站上也依然有过脚本,不过若是精密度要求甚高的同学(如需要3点12分34秒触发某个事件)建议使用此事件
----------------赴汤蹈火的分割线----------------
所谓游戏制作,无非地点,人物,事件以及时间.一般的游戏的背景因为宏观以剧情来铺垫,所以描述时间较为方便,一般直接自己一笔描写一下即算OK.
那么养成类或者时间限制类的游戏该怎么做呢?
那么.这一讲我们就来看看时间的运作!
如果前面3讲都有看的话,那么想必这一讲对你来说只是思维上的一种拓展.
首先看看效果图
接下来就是具体的思路了.
主体结构:通过变量之间的运算规则来进行调用
首先,必须定义3个以上的变量,即秒,分,时.甚至扩大化(星期,月,年... ...).按照自己需要定义变量
然后给它们定义一条法则.可以按照自己的需求调制.这里讲的是按现实运算.
即1年=12个月 1个月=4周 1周=7天 1天=24小时 1小时=60分 1分=60秒 (路人:废话)
按照指定的规律来进行变化.XP一秒等于20桢(VX是60)
也就是说20桢后便会走动一秒 那么1200桢后就是1分钟
我们定义1号(秒),2号(分),3号(时)为所需变量
P.s建议在公共时间里运行.
等待20桢 变量1则+1
然后利用条件分歧进行判断 当变量1=60的时候 变量2加1 也就形成了1分钟.后面依次类推
忘了补充.事件调用的话请记住是用\v[变量编号]来进行调用.
讲解完毕.睡觉 -A-
P.s 自己结合一下相关脚本进行调用的话 则可以随时进行刷新显示.如果以后弄个<我们的脚本>的话也许会讲到....囧
----------------万死不辞的分割线----------------
附带赠品:范例一个.脚本一个
脚本:简单的时间制作(=_=的确很简单,仅仅只是单纯的显示时间)- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
- #==============================================================================
- #本脚本是从七夕小雨的脚本:RM时钟后面的脚本提取再加上Window_PlayTime的脚本而成的.
- #脚本作者:ad1234a(dpae3342)
- #本脚本来源于66RPG转贴请保留该信息
- #==============================================================================
- #==============================================================================
- # ■ Window_PlayTime
- #------------------------------------------------------------------------------
- # 菜单画面显示游戏时间的窗口。
- #==============================================================================
- $SHOW = 62 #显示/隐藏
- class Window_PlayTime < Window_Base
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(-5, 0, 160, 96)
- self.contents = Bitmap.new(width - 32, height - 32)
- refresh
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- if $game_switches[$SHOW]
- self.visible=true
- else
- self.visible=false
- end
- self.contents.clear
- self.contents.font.color = system_color
- self.contents.draw_text(4, 0, 120, 32, "游戏时间")
- @total_sec = Graphics.frame_count / Graphics.frame_rate
- hour = @total_sec / 60 / 60
- min = @total_sec / 60 % 60
- sec = @total_sec % 60
- text = sprintf("%02d:%02d:%02d", hour, min, sec)
- self.contents.font.color = normal_color
- self.contents.draw_text(4, 32, 120, 32, text, 2)
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- super
- if Graphics.frame_count / Graphics.frame_rate != @total_sec
- refresh
- end
- end
- end
- #-----------------------------------------------------------------------------
- #●以下是七夕小雨的脚本
- #-----------------------------------------------------------------------------
- class Scene_Map
-
- # 声明别名,以免冲突,主要用于功能追加
- alias mohock_main main
- def main
- # 生成窗口
- @time_bar=Window_PlayTime.new
- # 调用别名
- mohock_main
- # 释放倒计时窗口
- @time_bar.dispose
- end
- # 声明别名,以免冲突,主要用于功能追加
- alias mohock_update update
- def update
- @time_bar.refresh
- # 调用别名
- mohock_update
- end
- end
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
复制代码 范例(188KB)地址:http://rpg.blue/upload_program/d ... ��间_118976153.rar
|
|