Project1

标题: 请问这个脚本是怎么用的? [打印本页]

作者: conanfj    时间: 2008-4-20 18:31
标题: 请问这个脚本是怎么用的?
这个是主站游戏里的一段脚本,请问是怎么使用的?
我把插入到自己游戏里面没有办法显示?
或者是说根本就没执行,执行的话,起码要有缺少素材的报错啊?


Scene_Credit.new 在哪调用的- -!!


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

#——————————————————————————————————————
# Scene_Credit 制作人员名单
#——————————————————————————————————————


#——使用注意:默认会返回地图,如果需要返回开头,请将本脚本中的
#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)
    @neosprite = Sprite.new
    @neosprite.bitmap = Bitmap.new("Graphics/Pictures/1.png")
    @neosprite.x = 0
    @neosprite.y = 0
    if return_scene.nil?
      return_scene = Scene_Map.new
    end
    @return_scene = return_scene
  end
  
  def scene_start
    Audio.bgm_play("Audio/BGM/Earthbound1.mp3",85)
    credit_lines = CREDIT.split(/\n/)
    credit_bitmap = Bitmap.new(640,64 * credit_lines.size)
    credit_lines.each_index do |i|
      line = credit_lines
      credit_bitmap.draw_text(0,i * 64,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
  end
  
  def last?
    return (@frame_index >= @credit_sprite.bitmap.height + 480)
  end
  
  def last
    if not @last_flag
      Audio.bgm_fade(5000)
      @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

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

[/code] [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 禾西    时间: 2008-4-20 18:37
沒有調用 Scene_Credit.new
作者: havealook    时间: 2008-4-20 18:38
直接插入到Main之前
事件脚本---$scene=Scene_Credit.new [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: conanfj    时间: 2008-4-20 18:55
......在哪调用的.....
作者: havealook    时间: 2008-4-20 19:06
按键盘上的Ctrl + shift + F,全局搜索Scene_Credit.new
作者: 禾西    时间: 2008-4-20 19:06
main當中,或者Scene_Title處,看起來好像是開場白腳本。也可以在最初的地圖處設置個自動執行的事件,然後在腳本輸入 $Scene=Scene_Credit.new
作者: conanfj    时间: 2008-4-20 19:12
我自己在他的游戏中用Ctrl + shift + F搜过了,没找到...
而他的游戏中有两个  叫字幕显示屏的文件.我本来以为会在那,但里面一个是都没有...不知道是什么意思......最后发现果然是在Scene_Title里def command_new_game...最后有那么一句...谢谢以上两位了..




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