Project1

标题: xp里可以用远景图吗?还有滚动文字。 [打印本页]

作者: ㄆ相    时间: 2008-8-27 22:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2008-8-27 22:03
远景图=》可以
滚动文字=》用脚本
作者: ㄆ相    时间: 2008-8-27 22:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 木葬枫    时间: 2008-8-28 00:26
可以·····

滚动文字脚本论坛上有,自己搜索。

作者: CIS狂人    时间: 2008-8-28 00:55
  1. #——使用注意:默认会返回地图,如果需要返回开头,请将本脚本中的
  2. #return_scene = Scene_Map.new改为return_scene = Scene_Title.new

  3. class Scene_Credit
  4.   CREDIT=<<_END_
  5. #这里输入内容

  6. _END_
  7. end

  8. class Scene_Credit

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

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

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

  68.   def main
  69.     scene_start
  70.     # 过渡
  71.     Graphics.transition
  72.     # 主循环
  73.     loop do
  74.       Graphics.update
  75.       Input.update
  76.       update
  77.       if $scene != self
  78.         break
  79.       end
  80.     end
  81.     # 准备过渡
  82.     Graphics.freeze
  83.     scene_end
  84.   end
  85. end
复制代码

注意看注释 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 木葬枫    时间: 2008-8-28 01:37
以下引用CIS狂人于2008-8-27 16:55:14的发言:


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

class Scene_Credit
CREDIT=<<_END_
#这里输入内容

_END_
end

class Scene_Credit

def initialize(return_scene = nil)
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/tit")
   @sprite.x = 0
   @sprite.y = 0
   if return_scene.nil?
     return_scene = Scene_Map.new
   end
   @return_scene = return_scene
end

def scene_start
   credit_lines = CREDIT.split(/\n/)
   credit_bitmap = Bitmap.new(640,32 * credit_lines.size)
   credit_lines.each_index do |i|
     line = credit_lines
     credit_bitmap.draw_text(0,i * 32,640,32,line,1)
   end
   @credit_sprite = Sprite.new(Viewport.new(0,50,640,380))
   @credit_sprite.bitmap = credit_bitmap
   @credit_sprite.oy = -430
   @frame_index = 0
   @last_flag = false
end

def scene_end
   @credit_sprite.dispose
   @sprite.dispose
end

def last?
   return (@frame_index >= @credit_sprite.bitmap.height + 480)
end

def last
   if not @last_flag
     Audio.bgm_fade(10000)
     @last_flag = true
     @last_count = 0
   else
     @last_count += 1
   end
   if @last_count >= 300
     $scene = @return_scene
   end
end

def update
   @frame_index += 1
   return if cancel?
   last if last?
   @credit_sprite.oy += 1
end

def cancel?
   if Input.trigger?(Input::B)
     $scene = @return_scene
     return true
   end
   return false
end

def main
   scene_start
   # 过渡
   Graphics.transition
   # 主循环
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   # 准备过渡
   Graphics.freeze
   scene_end
end
end

注意看注释

这个是VX的。
作者: ㄆ相    时间: 2008-8-28 01:42
提示: 作者被禁止或删除 内容自动屏蔽




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