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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 1965685904X
打印 上一主题 下一主题

[已经过期] 问个问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
294 小时
注册时间
2013-6-14
帖子
168
11
发表于 2013-8-15 20:34:54 | 只看该作者
额,连柳柳也不知道么……{:2_271:}

点评

看了来Z真没看基础教程,还是先看看吧,许多人都是经历过那一步骤的,不然你的问题还会有很多  发表于 2013-8-15 20:38
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
103
在线时间
159 小时
注册时间
2010-7-4
帖子
44
12
发表于 2013-8-15 20:46:18 | 只看该作者
这个是在标题前插入图片的脚本,比较简单
  1. Graphics.freeze
  2. devil = Sprite.new
  3. devil.bitmap = Bitmap.new("Graphics/Pictures/神将.JPG") #这里显示图片的地址
  4. devil.ox = devil.bitmap.width / 2
  5. devil.oy = devil.bitmap.height / 2
  6. devil.x = 320#图片的X坐标,坐标越大图片越靠右
  7. devil.y = 240#图片的Y坐标,坐标越大图片越靠下

  8. $a = 0
  9. Graphics.transition(100)
  10. 100.times{Graphics.update}
  11. loop do
  12.   $a += 1
  13. Graphics.update
  14. devil.opacity -= 2
  15. if $a == 100 #这里设置图片的时常,每次刷新大概是0.05秒的样子,填100大概有5秒钟。
  16.   break
  17. end
  18. end
  19. devil.bitmap.dispose
  20. devil.dispose
  21. devil = nil
  22. Graphics.freeze
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2013-8-23
帖子
6
13
发表于 2013-8-24 07:47:01 | 只看该作者
片头制作教程:脚本版
在写场景之前先将场景加入到游戏里区,所以首先我们需要修改Main脚本段。
将原先的一句:
  1. $scene = Scene_Title.new
复制代码
修改为:
  1. $scene = Scene_Logo.new
复制代码
然后新建一个脚本段落GPRA_Scene_Logo,给出脚本段全部代码如下:
  1. #=================================================
  2. # ■ Scene_Logo
  3. #-------------------------------------------------
  4. #  处理片头的类。
  5. #=================================================

  6. class Scene_Logo
  7. #-----------------------------------------------
  8. # ● 主处理
  9. #-----------------------------------------------
  10. def main
  11.    # 如果您不想在每次测试游戏游戏的时候都显示LOGO,请加入以下注释语句
  12.    # if $DEBUG
  13.    #   $scene = Scene_Title.new
  14.    #   return
  15.    # end
  16.    
  17.    # 生成LOGO图形
  18.    [url=home.php?mod=space&uid=114926]@sprite[/url] = Sprite.new
  19.    @sprite.bitmap = RPG::Cache.picture("logo")
  20.    @sprite.x = 160
  21.    @sprite.y = 120
  22.    # 显示计时器
  23.    @show_time=60
  24.    # 执行过渡
  25.    Graphics.transition(20)
  26.    # 主循环
  27.    while @show_time>0 do
  28.      # 刷新游戏画面
  29.      Graphics.update
  30.      # 显示计时器减一
  31.      @show_time -= 1
  32.    end
  33.    # 准备过渡
  34.    Graphics.freeze
  35.    # 释放标题图形
  36.    @sprite.bitmap.dispose
  37.    @sprite.dispose
  38.    
  39.    # 执行过渡,过渡到全黑
  40.    Graphics.transition(20)
  41.    # 准备过渡,用于准备过渡到标题画面
  42.    Graphics.freeze
  43.    
  44.    # 进入标题画面
  45.    $scene = Scene_Title.new
  46. end
  47. 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浪费时间的话,参看最前面几行注释,将它们前面的"#"去掉就可以啦~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-29 18:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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