Project1

标题: VX滚动字幕的问题! [打印本页]

作者: jy03037318    时间: 2009-1-10 07:26
标题: VX滚动字幕的问题!
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

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

  6. class Scene_Credit
  7.   CREDIT=<<_END_
  8. #这里输入字幕内容

  9. _END_
  10. end

  11. class Scene_Credit

  12.   def initialize(return_scene = nil)
  13.     @sprite = Sprite.new
  14.     @sprite.bitmap = Bitmap.new("Graphics/Pictures/tit")
  15.     @sprite.x = 0
  16.     @sprite.y = 0
  17.     if return_scene.nil?
  18.       return_scene = Scene_Title.new
  19.     end
  20.     @return_scene = return_scene
  21.   end
  22.   
  23.   def scene_start
  24.     credit_lines = CREDIT.split(/\n/)
  25.     credit_bitmap = Bitmap.new(576,32 * credit_lines.size)
  26.     credit_lines.each_index do |i|
  27.       line = credit_lines[i]
  28.       credit_bitmap.draw_text(0,i * 32,576,32,line,1)
  29.     end
  30.     @credit_sprite = Sprite.new(Viewport.new(0,50,576,432))
  31.     @credit_sprite.bitmap = credit_bitmap
  32.     @credit_sprite.oy = -430
  33.     @frame_index = 0
  34.     @last_flag = false
  35.   end

  36.   def scene_end
  37.     @credit_sprite.dispose
  38.     @sprite.dispose
  39.   end
  40.   
  41.   def last?
  42.     return (@frame_index >= @credit_sprite.bitmap.height + 320)
  43.   end
  44.   
  45.   def last
  46.     if not @last_flag
  47.       Audio.bgm_fade(10000)
  48.       @last_flag = true
  49.       @last_count = 0
  50.     else
  51.       @last_count += 1
  52.     end
  53.     if @last_count >= 300
  54.       $scene = @return_scene
  55.     end
  56.   end
  57.   
  58.   def update
  59.     @frame_index += 1
  60.     return if cancel?
  61.     last if last?
  62.     @credit_sprite.oy += 1
  63.   end

  64.   def cancel?
  65.     if Input.trigger?(Input::B)
  66.       $scene = @return_scene
  67.       return true
  68.     end
  69.     return false
  70.   end

  71.   def main
  72.     scene_start
  73.     # 过渡
  74.     Graphics.transition
  75.     # 主循环
  76.     loop do
  77.       Graphics.update
  78.       Input.update
  79.       update
  80.       if $scene != self
  81.         break
  82.       end
  83.     end
  84.     # 准备过渡
  85.     Graphics.freeze
  86.     scene_end
  87.   end
  88. end
  89. #==============================================================================



  90. #==============================================================================
  91. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  92. #==============================================================================

复制代码



我照着他上面说的做了,弄了张640*480的图,事件上写了$Scene = Scene_Credit.new~~~
字幕那里随便写了几个字,为什么只是显示了这张图片没有字幕呢?(我的图片是黑色的) [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 雪流星    时间: 2009-1-10 07:44
class Scene_Credit
  CREDIT=<<_END_
#这里输入字幕内容

_END_

作者: jy03037318    时间: 2009-1-10 07:53
我就是在那里写的啊~~~我把XP里面那个《出师表》复制过来的!还是不行~~
作者: 雪流星    时间: 2009-1-10 08:46
scene打錯了
要全部小寫
$scene = Scene_Credit.new

那張圖片不要用成全黑的,你才會發現那張圖片到底有沒有出現 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 木葬枫    时间: 2009-1-10 09:22
手头正好有范例==
http://rpg.blue/upload_program/d ... 65705_111979316.rar
作者: jy03037318    时间: 2009-1-10 20:41
弄好了~~~
还有个问题!这个脚本哪里是调速度的地方?还有字幕有点偏右面,哪里是调的地方?
作者: 雪流星    时间: 2009-1-10 20:54
credit_bitmap = Bitmap.new(576,32 * credit_lines.size)

576改成490

那些數字應該在VX化的時候就要依照比例修改了
向那張背景圖用 544X416 就夠了
除非你用高分辨率腳本
作者: 木葬枫    时间: 2009-1-10 20:56
这个脚本可以改快,无法改慢········
除非修改·······
作者: jy03037318    时间: 2009-1-10 22:35
哎~~字偏右还是没法解决~~~算了~~还是用显示+移动图片好了~~~
不过还是谢谢你们~

作者: CIS狂人    时间: 2009-1-11 01:18
....SORRY,我又失误了.......去看看....
作者: 雪流星    时间: 2009-1-11 04:43
Viewport.new(0,50,576,432)
這裡還有一些數字要修改,改成
Viewport.new(0,50,490,375)
作者: 霜舞风尘    时间: 2010-8-2 23:24
回复 CIS狂人 的帖子

这里说没有umeplus cothic 字体???
   




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1