赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 396 |
最后登录 | 2013-8-25 |
在线时间 | 5 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 5 小时
- 注册时间
- 2013-8-23
- 帖子
- 6
|
片头制作教程:脚本版
在写场景之前先将场景加入到游戏里区,所以首先我们需要修改Main脚本段。
将原先的一句:修改为:然后新建一个脚本段落GPRA_Scene_Logo,给出脚本段全部代码如下:- #=================================================
- # ■ Scene_Logo
- #-------------------------------------------------
- # 处理片头的类。
- #=================================================
- class Scene_Logo
- #-----------------------------------------------
- # ● 主处理
- #-----------------------------------------------
- def main
- # 如果您不想在每次测试游戏游戏的时候都显示LOGO,请加入以下注释语句
- # if $DEBUG
- # $scene = Scene_Title.new
- # return
- # end
-
- # 生成LOGO图形
- [url=home.php?mod=space&uid=114926]@sprite[/url] = 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
复制代码 片头是为了显示图片~所以需要做的准备工作就是先把要显示的图片导入到工程里,或者直接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第一个可选参数指定的是多少帧完成过渡。
@sprite.bitmap.dispose / @sprite.dispose
位图和精灵一定要释放的,这点不能忘记。
最后记得,还要显示标题画面的,不然怎么进入游戏呢,呵呵?
加一句$scene = Scene_Title.new,就回到标题画面了。
是不是实际上也很简单呢?不加注释一共也只有二三十行的代码。
最后请注意,如果您不想在每次测试的时候都会显示LOGO浪费时间的话,参看最前面几行注释,将它们前面的"#"去掉就可以啦~
|
|