作者:广东在线游戏网日期:
返回目录:游戏资讯
有2个方法,一个是楼上的方法,还有一个是用脚本,我把百变宝典里的原话Copy上来,慢慢读~~(hoho~)
看吧~话说回来,这个脚本只是有显示一个图片,如果要显示动画的话,就在过渡到标题画面前吧准备好的图片全部写上去咯,其实思路的话2个都是一样的
在写场景之前先将场景加入到游戏里区,所以首先我们需要修改Main脚本段。
将原先的一句:
$scene = Scene_Title.new
修改为:
$scene = Scene_Logo.new
然后新建一个脚本段落GPRA_Scene_Logo,给出脚本段全部代码如下:
#=================================================
# ■ Scene_Logo
#-------------------------------------------------
# 处理片头的类。
#=================================================
class Scene_Logo
#-----------------------------------------------
# ● 主处理
#-----------------------------------------------
def main
# 如果您不想在每次测试游戏游戏的时候都显示LOGO,请加入以下注释语句
# if $DEBUG
# $scene = Scene_Title.new
# return
# end
# 生成LOGO图形
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.picture("logo")
@sprite.x = 160
@sprite.y = 120
# 显示计时器
@show_time=60
# 执行过渡
Graphics.transition(20)
# 主循环
while @show_time>0 do
# 刷新游戏画面
Graphics.update
# 显示计时器减一
@show_time -= 1
end
# 准备过渡
Graphics.freeze
# 释放标题图形
@sprite.bitmap.dispose
@sprite.dispose
# 执行过渡,过渡到全黑
Graphics.transition(20)
# 准备过渡,用于准备过渡到标题画面
Graphics.freeze
# 进入标题画面
$scene = Scene_Title.new
end
end
脚本制作片头方法是针对有一定的脚本基础的RMer的,所以不一定是所有的游戏制作者都可以简单的掌握。源代码中已经包含了一定的注释,在此再简单的说明一下。
当然片头是为了显示图片~所以需要做的准备工作就是先把要显示的图片导入到工程里,或者直接Copy到"./Graphics/Pictures/"目录下。在脚本里显示图片一般是要使用到精灵(Sprite)的,在这里我们首先声明一个@sprite变量,然后用它的bitmap载入图片。例如:@sprite.bitmap = RPG::Cache.picture("logo"),载入的就是刚刚导入的名为"logo.*"的图片文件。然后如果图片不是全屏的,通过精灵的x和y属性指定一下显示的坐标。精灵是自动显示的,所以不用进行贴图等操作的。有关精灵的详细使用,可以参看F1或者66的其它相关教程,在此不再多说。
之后片头总要停止啊,所以在这里定义一个计时器@show_time,初始化它的值为60。在显示过程循环中将对它递减,最后达到定时的目的,将LOGO显示一个固定长的时间。代码中的while循环就是循环刷新画面的,其中就使用了@show_time变量作为循环继续条件。
关于Graphics.freeze和Graphics.transition函数,就是准备过渡和进行过渡,和事件中的功能是完全一样的,大家如果不清楚自己试试就明白了(在F1中可以搜索到)。
Graphics.freeze冻结当前的屏幕,不允许画面进行更新。
Graphics.transition就是从刚刚冻结时的画面过渡到当前绘制好的画面。
Graphics.transition第一个可选参数指定的是多少帧完成过渡。e799bee5baa6e79fa5e98193e4b893e5b19e365
@sprite.bitmap.dispose / @sprite.dispose
位图和精灵一定要释放的,这点不能忘记。
设置移动路线里,把“重复动作”取消勾选。
如果使用了自动执行事件或者并行处理事件,请通过开关等方式终止事件处理
使用抄开关,开场白最后加上一个独立开关A=ON,之后新建一个事袭件页面,事件页面什么都不设置百,页面出现条件设置为独立开关A为ON,这样运行到最后就会度开启独立开个A,跳转到事件页面问2,事件页面2没有事件的情况下,页面不会被执答行,所以整个事件就停止了。