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

Project1

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

[已经解决] RMXP怎么制作字幕?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2010-8-8
帖子
17
跳转到指定楼层
1
发表于 2010-8-18 13:13:29 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
就是那种比如说有多行文字,先显示第一行 ,然后再显示第二 三。。。行? 求高手!

Lv2.观梦者

梦石
0
星屑
398
在线时间
972 小时
注册时间
2007-12-31
帖子
2137
6
发表于 2010-8-19 18:04:47 | 只看该作者
本帖最后由 liqunsz 于 2010-8-19 18:06 编辑

给你添加一个幻森的多字幕脚本吧,上面几层的第二个脚本尽量不要用,那个被AVG整合系统的作者修改过一些部分,可能不太适合
多字幕脚本 修改 by secondsen【幻森的腿神,整个RM版几乎全是他回答的……现场编写脚本之类的……】
  1. class Scene_Credit
  2.   CREDIT = []
  3.   CREDIT[0]=<<_END_
  4. 弟弟大大洞洞大大,
  5. 葫芦娃!
  6. _END_

  7.   CREDIT[1]=<<_END_
  8. -----Cast------
  9. 制作工具:RPG Maker XP
  10. Just a credit.
  11. _END_

  12.   def initialize(pic_name,credit = 0,return_scene = false)
  13.     @sprite = Sprite.new
  14.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/"+pic_name)
  15.     @sprite.x = 0
  16.     @sprite.y = 0
  17.     @return_scene = return_scene
  18.     @index = credit
  19.   end
  20.   
  21.   def return_to_scene
  22.     if @return_scene
  23.       $scene = Scene_Title.new
  24.     else
  25.       $scene = Scene_Map.new
  26.     end
  27.   end
  28.   
  29.   def scene_start
  30.     credit_lines = CREDIT[@index].split(/\n/)
  31.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  32.     credit_lines.each_index do |i|
  33.       line = credit_lines[i]
  34.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)
  35.     end
  36.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  37.     @credit_sprite.bitmap = credit_bitmap
  38.     @credit_sprite.oy = -430
  39.     @frame_index = 0
  40.     @last_flag = false
  41.   end
  42.   def scene_end
  43.     @credit_sprite.dispose
  44.     @sprite.dispose
  45.   end
  46.   
  47.   def last?
  48.     return (@frame_index >= @credit_sprite.bitmap.height + 480)
  49.   end
  50.   
  51.   def last
  52.     if not @last_flag
  53.       Audio.bgm_fade(10000)
  54.       @last_flag = true
  55.       @last_count = 0
  56.     else
  57.       @last_count += 1
  58.     end
  59.     if @last_count >= 300
  60.       return_to_scene
  61.     end
  62.   end
  63.   
  64.   def update
  65.     @frame_index += 1
  66.     return if cancel?
  67.     last if last?
  68.     @credit_sprite.oy += 1
  69.   end
  70.   def cancel?
  71.     if Input.trigger?(Input::B)
  72.       return_to_scene
  73.       return true
  74.     end
  75.     return false
  76.   end
  77.   def main
  78.     scene_start
  79.     # 过渡
  80.     Graphics.transition
  81.     # 主循环
  82.     loop do
  83.       Graphics.update
  84.       Input.update
  85.       update
  86.       if $scene != self
  87.         break
  88.       end
  89.     end
  90.     # 准备过渡
  91.     Graphics.freeze
  92.     scene_end
  93.   end
  94. end
复制代码
说明
CREDIT = []
  CREDIT[0]=<<_END_
弟弟大大洞洞大大,
葫芦娃!
_END_

  CREDIT[1]=<<_END_
-----Cast------
制作工具:RPG Maker XP
Just a credit.
_END_

看到这个了不,就按照这种模式写字幕,写几个自定
用法

$scene = Scene_Credit.new("背景图片",编号,true/false)

背景图片 和 原来的脚本一样
编号参看最前边的   CREDIT[1]  中 []里面的数字。。。数组总明白吧??
第三个  参数不是必须的

true 表示 返回 Title画面  不写第三个参数 或者是false 表示返回Map


原帖地址:http://www.rpgchina.net/read-htm-tid-38151-fpage-3-page-1.html


不过就常理来说,用移动图片可以做出相当华丽的字幕,不用完全依靠脚本的力量,只要PS啥的掌握一点就可以做出比脚本还要出色的效果~

评分

参与人数 1星屑 +200 收起 理由
六祈 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
329
在线时间
890 小时
注册时间
2009-10-12
帖子
1829
5
发表于 2010-8-19 16:56:33 | 只看该作者
几个办法:
1用事件,用图片
2脚本,结束字幕脚本,黑暗圣剑传说里面有
3脚本,对话加强,里面有等待*帧的设置办法。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
229
在线时间
596 小时
注册时间
2010-6-21
帖子
1218
4
发表于 2010-8-19 16:01:34 | 只看该作者
个人推荐用字幕脚本,字幕占地小,剩制作
给你几个脚本,我这的字幕版本太多
给你几个吧
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载请保留此信息
  3. # ————————————————————————————————————

  4. #——————————————————————————————————————
  5. # Scene_Credit 制作人员名单
  6. #——————————————————————————————————————


  7. #——使用注意:默认会返回地图,如果需要返回开头,请将本脚本中的
  8. #return_scene = Scene_Map.new改为return_scene = Scene_Title.new

  9. class Scene_Credit
  10.   CREDIT=<<_END_
  11. -----Cast------

  12. 制作工具:RPG Maker XP

  13. 先帝创业未半而中道崩殂
  14. 今天下三分,益州疲弊
  15. 此诚危急存亡之秋也
  16. 然侍卫之臣不懈于内,忠志之士忘身于外者
  17. 盖追先帝之殊遇,欲报之于陛下也
  18. 诚宜开张圣听,以光先帝遗德,恢弘志士之气
  19. 不宜妄自菲薄,引喻失义,以塞忠谏之路也

  20. 宫中府中,俱为一体,陟罚臧否,不宜异同
  21. 若有作奸犯科及为忠善者
  22. 宜付有司论其刑赏,以昭陛下平明之理
  23. 不宜偏私,使内外异法也。
  24. 侍中侍郎郭攸之、费祎、董允等
  25. 此皆良实,志虑忠纯,是以先帝简拔以遗陛下
  26. 愚以为宫中之事,事无大小,悉以咨之,然后施行
  27. 必能裨补阙漏,有所广益。


  28. _END_
  29. end

  30. class Scene_Credit

  31.   def initialize(return_scene = nil)
  32.     @sprite = Sprite.new
  33.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/1")
  34.     @sprite.x = 0
  35.     @sprite.y = 0
  36.     if return_scene.nil?
  37.       return_scene = Scene_Map.new
  38.     end
  39.     @return_scene = return_scene
  40.   end
  41.    
  42.   def scene_start
  43.     credit_lines = CREDIT.split(/\n/)
  44.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  45.     credit_lines.each_index do |i|
  46.       line = credit_lines[i]
  47.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)
  48.     end
  49.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  50.     @credit_sprite.bitmap = credit_bitmap
  51.     @credit_sprite.oy = -430
  52.     @frame_index = 0
  53.     @last_flag = false
  54.   end

  55.   def scene_end
  56.     @credit_sprite.dispose
  57.     @sprite.dispose
  58.   end
  59.    
  60.   def last?
  61.     return (@frame_index >= @credit_sprite.bitmap.height + 480)
  62.   end
  63.    
  64.   def last
  65.     if not @last_flag
  66.       Audio.bgm_fade(10000)
  67.       @last_flag = true
  68.       @last_count = 0
  69.     else
  70.       @last_count += 1
  71.     end
  72.     if @last_count >= 300
  73.       $scene = @return_scene
  74.     end
  75.   end
  76.    
  77.   def update
  78.     @frame_index += 1
  79.     return if cancel?
  80.     last if last?
  81.     @credit_sprite.oy += 1
  82.   end

  83.   def cancel?
  84.     if Input.trigger?(Input::B)
  85.       $scene = @return_scene
  86.       return true
  87.     end
  88.     return false
  89.   end

  90.   def main
  91.     scene_start
  92.     # 过渡
  93.     Graphics.transition
  94.     # 主循环
  95.     loop do
  96.       Graphics.update
  97.       Input.update
  98.       update
  99.       if $scene != self
  100.         break
  101.       end
  102.     end
  103.     # 准备过渡
  104.     Graphics.freeze
  105.     scene_end
  106.   end
  107. end


复制代码
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #——————————————————————————————————————
  5. # Scene_Credit 制作人员名单
  6. #——————————————————————————————————————


  7. #——使用注意:默认会返回地图,如果需要返回开头,请将本脚本中的
  8. #return_scene = Scene_Map.new改为return_scene = Scene_Title.new

  9. class Scene_Credit
  10.   CREDIT=<<_END_
  11.   
  12.   
  13.   
  14. 本版本为AVG精装版1.05

  15. AVG整合:Tranpol


  16. 脚本一览

  17. 回忆系统 BY Benavii
  18. 事件版CG系统 BY Tranpol
  19. 自动全屏
  20. 鼠标脚本
  21. 鼠标认图形脚本 BY 灼眼的夏娜
  22. GIF播放脚本  BY 灼眼的夏娜
  23. 新天气系统 BY ScriptKitty and Mr.DJ
  24. AVI播放器 BY FantasyDR
  25. 真·对话加强脚本的加强 1.12 BY IKKI debug:叶子
  26. 真·地震  BY 亿万星辰
  27. 文字使用图片效果ver.1.00(05/10/06)
  28. by 箱入小屋http://aea.to/hako/ 翻译:天狼星1110
  29. 自动识动剧本脚本 BY 柳柳
  30. 千千静听自动淡入淡出BGM BY 柳柳
  31. 字幕脚本


  32. PS:以上有部分脚本已惨遭俺虐待
  33. 如果要CO脚本
  34. 建议最好还是去CO原版为好

  35. 如要修改请在脚本中找#AVG
  36. 可以看一下俺的研究
  37. 改起来会更方便


  38. _END_

  39. end

  40. class Scene_Credit

  41.   def initialize(return_scene = nil)
  42.     #@sprite = Sprite.new
  43.     #@sprite.bitmap = Bitmap.new("Graphics/Pictures/end.jpg")
  44.     #@sprite.x = 0
  45.     #@sprite.y = 0
  46.     if return_scene.nil?
  47.       return_scene = Scene_Title.new
  48.     end
  49.     @return_scene = return_scene
  50.   end
  51. =begin  
  52.   def scene_start
  53.     credit_lines = CREDIT.split(/\n/)
  54.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  55.     credit_lines.each_index do |i|
  56.       line = credit_lines[i]
  57.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)
  58.     end
  59.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  60.     @credit_sprite.bitmap = credit_bitmap
  61.     @credit_sprite.oy = -430
  62.     @frame_index = 0
  63.     @last_flag = false
  64.   end

  65.   def scene_end
  66.     @credit_sprite.dispose
  67.     #@sprite.dispose
  68.   end
  69.   
  70.   def last?
  71.     return (@frame_index >= @credit_sprite.bitmap.height + 480)
  72.   end
  73.   
  74.   def last
  75.     if not @last_flag
  76.       Audio.bgm_fade(10000)
  77.       @last_flag = true
  78.       @last_count = 0
  79.     else
  80.       @last_count += 1
  81.     end
  82.     if @last_count >= 300
  83.       $scene = @return_scene
  84.     end
  85.   end
  86.   
  87.   def update
  88.     @frame_index += 1
  89.     return if cancel?
  90.     last if last?
  91.     @credit_sprite.oy += 1
  92.   end
  93. =end  

  94.   
  95.   def scene_start
  96.     credit_lines = CREDIT.split(/\n/)
  97.     credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
  98.    
  99.     pic_bitmap = Bitmap.new("Graphics/Pictures/end.jpg")
  100.     @pic_sprite = Sprite.new(Viewport.new(0,50,640,380))
  101.     @pic_sprite.bitmap = pic_bitmap
  102.     @pic_sprite.oy = -380
  103.    
  104.     credit_lines.each_index do |i|
  105.       line = credit_lines[i]
  106.       credit_bitmap.draw_text(0,i * 32,640,32,line,1)
  107.     end
  108.    
  109.     @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
  110.     @credit_sprite.bitmap = credit_bitmap
  111.     @credit_sprite.oy = -380


  112.    
  113.     @frame_index = 0
  114.     @last_flag = false
  115.   end

  116.   def scene_end
  117.     @credit_sprite.dispose
  118.   end
  119.   
  120.   def line_last?
  121.     return (@frame_index >= @credit_sprite.bitmap.height)
  122.   end
  123.   
  124.   def last?
  125.     return (@frame_index >= @credit_sprite.bitmap.height + 844)
  126.   end
  127.   
  128.   def last
  129.     if not @last_flag
  130.       Audio.bgm_fade(10000)
  131.       @last_flag = true
  132.       @last_count = 0
  133.     else
  134.       @last_count += 1
  135.       
  136.       @pic_sprite.opacity -= 2 if (@pic_sprite.opacity >= 0) and (@last_count >= 20)
  137.     end
  138.     if @last_count >= 300
  139.       $scene = nil
  140.     end
  141.   end
  142.   
  143.   def update
  144.     @frame_index += 1
  145.    
  146.     if last?
  147.       last
  148.     elsif line_last?
  149.       @pic_sprite.oy += 1
  150.     end
  151.    
  152.     @credit_sprite.oy += 1
  153.    
  154.   end

  155.   
  156.   
  157.   def cancel?
  158.     if Input.trigger?(Input::B)
  159.       $scene = @return_scene
  160.       return true
  161.     end
  162.     return false
  163.   end

  164.   def main
  165.     scene_start
  166.     # 过渡
  167.     Graphics.transition
  168.     # 主循环
  169.     loop do
  170.       Graphics.update
  171.       Input.update
  172.       update
  173.       if $scene != self
  174.         break
  175.       end
  176.     end
  177.     # 准备过渡
  178.     Graphics.freeze
  179.     scene_end
  180.   end
  181. end


  182. #==============================================================================
  183. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  184. #==============================================================================

复制代码

评分

参与人数 1星屑 +200 收起 理由
六祈 + 200 认可答案

查看全部评分

如果我是一个美工就好啦!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
320
在线时间
5 小时
注册时间
2010-8-19
帖子
3
3
发表于 2010-8-19 10:47:16 | 只看该作者
显示图片吧,要灰常多张
貌似从很久以前开始就一直在用这个办法了...
好像也可以插入视频的
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

2
发表于 2010-8-18 14:20:04 | 只看该作者
大量的显示图片~~正经又华丽~~
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 16:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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