Project1

标题: 关于标题前显示LOGO的一点想法 [打印本页]

作者: 孤高の狼    时间: 2007-1-10 01:07
标题: 关于标题前显示LOGO的一点想法
先把这个脚本放上来,方便大家研究一下哈
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #--------------------------------------------------------------------------
  5. # 开始菜单前加入图片
  6. # 作者 : 擇
  7. #--------------------------------------------------------------------------

  8. class Scene_logo
  9.   #--------------------------------------------------------------------------
  10.   # ● 住处理
  11.   #--------------------------------------------------------------------------
  12.   def main
  13.     # 播放LOGO音效
  14.     Audio.se_play("Audio/SE/079-Monster01.ogg")
  15.     # 生成标题图形
  16.     @sprite = Sprite.new
  17.     @sprite.bitmap = RPG::Cache.title("001-Title01")
  18.     # 生成位置为画面中央
  19.     @sprite.x = (640 - @sprite.bitmap.width) / 2
  20.     @sprite.y = (480 - @sprite.bitmap.height) / 2
  21.     # 透明度(0为完全透明)
  22.     @sprite.opacity = 255
  23.     # 执行过渡
  24.     Graphics.transition
  25.     # 主循环
  26.     loop do
  27.       # 刷新游戏画面
  28.       Graphics.update
  29.       # 刷新输入信息
  30.       Input.update
  31.       # 刷新画面
  32.       update
  33.       # 如果画面被切换就中断循环
  34.       if $scene != self
  35.         break
  36.       end
  37.     end
  38.     # 装备过渡
  39.     Graphics.freeze
  40.     # 释放标题图形
  41.     @sprite.bitmap.dispose
  42.     @sprite.dispose
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 刷新画面
  46.   #--------------------------------------------------------------------------
  47.   def update
  48.     # 按下 A,B,C,下,上,左,右 键的情况下
  49.     if Input.trigger?(Input::A)
  50.       refresh
  51.     end
  52.     if Input.trigger?(Input::B)
  53.       refresh
  54.     end
  55.     if Input.trigger?(Input::C)
  56.       refresh
  57.     end
  58.     if Input.trigger?(Input::DOWN)
  59.       refresh
  60.     end
  61.     if Input.trigger?(Input::UP)
  62.       refresh
  63.     end
  64.     if Input.trigger?(Input::RIGHT)
  65.       refresh
  66.     end
  67.     if Input.trigger?(Input::LEFT)
  68.       refresh
  69.     end
  70.     def refresh
  71.       $scene = Scene_Title.new
  72.       Audio.se_stop
  73.     end
  74.   end
  75. end
  76. #==============================================================================
  77. # ■ Main
  78. #------------------------------------------------------------------------------
  79. #  各定义结束后、从这里开始实际处理。
  80. #==============================================================================
  81. begin
  82.   # 准备过渡
  83.   # 设置系统默认字体
  84.   Font.default_name = (["黑体"])
  85.   Graphics.freeze
  86.   # 生成场景对像 (标题画面)
  87.   $scene = Scene_logo.new
  88.   # $scene 为有效的情况下调用 main 过程
  89.   while $scene != nil
  90.     $scene.main
  91.   end
  92.   # 淡入淡出
  93.   Graphics.transition(20)
  94.   rescue Errno::ENOENT
  95.   # 补充 Errn:ENOENT 以外错误
  96.   # 无法打开文件的情况下、显示信息后结束
  97.   filename = $!.message.sub("No such file or directory - ", "")
  98.   print("找不到文件 #{filename}。 ")
  99. end


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

以上就是脚本,但我一直有一个疑问,怎么才可以显示2张以上的LOGO

    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
很明显这段代码是显示LOGO的,但要加一段什么代码才可以使它有顺序的自动显示2个以上的LOGO呢?
希望知道的朋友告诉一下,不知道的朋友也来一起讨论讨论
作者: 孤高の狼    时间: 2007-1-10 01:07
标题: 关于标题前显示LOGO的一点想法
先把这个脚本放上来,方便大家研究一下哈
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #--------------------------------------------------------------------------
  5. # 开始菜单前加入图片
  6. # 作者 : 擇
  7. #--------------------------------------------------------------------------

  8. class Scene_logo
  9.   #--------------------------------------------------------------------------
  10.   # ● 住处理
  11.   #--------------------------------------------------------------------------
  12.   def main
  13.     # 播放LOGO音效
  14.     Audio.se_play("Audio/SE/079-Monster01.ogg")
  15.     # 生成标题图形
  16.     @sprite = Sprite.new
  17.     @sprite.bitmap = RPG::Cache.title("001-Title01")
  18.     # 生成位置为画面中央
  19.     @sprite.x = (640 - @sprite.bitmap.width) / 2
  20.     @sprite.y = (480 - @sprite.bitmap.height) / 2
  21.     # 透明度(0为完全透明)
  22.     @sprite.opacity = 255
  23.     # 执行过渡
  24.     Graphics.transition
  25.     # 主循环
  26.     loop do
  27.       # 刷新游戏画面
  28.       Graphics.update
  29.       # 刷新输入信息
  30.       Input.update
  31.       # 刷新画面
  32.       update
  33.       # 如果画面被切换就中断循环
  34.       if $scene != self
  35.         break
  36.       end
  37.     end
  38.     # 装备过渡
  39.     Graphics.freeze
  40.     # 释放标题图形
  41.     @sprite.bitmap.dispose
  42.     @sprite.dispose
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 刷新画面
  46.   #--------------------------------------------------------------------------
  47.   def update
  48.     # 按下 A,B,C,下,上,左,右 键的情况下
  49.     if Input.trigger?(Input::A)
  50.       refresh
  51.     end
  52.     if Input.trigger?(Input::B)
  53.       refresh
  54.     end
  55.     if Input.trigger?(Input::C)
  56.       refresh
  57.     end
  58.     if Input.trigger?(Input::DOWN)
  59.       refresh
  60.     end
  61.     if Input.trigger?(Input::UP)
  62.       refresh
  63.     end
  64.     if Input.trigger?(Input::RIGHT)
  65.       refresh
  66.     end
  67.     if Input.trigger?(Input::LEFT)
  68.       refresh
  69.     end
  70.     def refresh
  71.       $scene = Scene_Title.new
  72.       Audio.se_stop
  73.     end
  74.   end
  75. end
  76. #==============================================================================
  77. # ■ Main
  78. #------------------------------------------------------------------------------
  79. #  各定义结束后、从这里开始实际处理。
  80. #==============================================================================
  81. begin
  82.   # 准备过渡
  83.   # 设置系统默认字体
  84.   Font.default_name = (["黑体"])
  85.   Graphics.freeze
  86.   # 生成场景对像 (标题画面)
  87.   $scene = Scene_logo.new
  88.   # $scene 为有效的情况下调用 main 过程
  89.   while $scene != nil
  90.     $scene.main
  91.   end
  92.   # 淡入淡出
  93.   Graphics.transition(20)
  94.   rescue Errno::ENOENT
  95.   # 补充 Errn:ENOENT 以外错误
  96.   # 无法打开文件的情况下、显示信息后结束
  97.   filename = $!.message.sub("No such file or directory - ", "")
  98.   print("找不到文件 #{filename}。 ")
  99. end


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

以上就是脚本,但我一直有一个疑问,怎么才可以显示2张以上的LOGO

    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.title("001-Title01")
很明显这段代码是显示LOGO的,但要加一段什么代码才可以使它有顺序的自动显示2个以上的LOGO呢?
希望知道的朋友告诉一下,不知道的朋友也来一起讨论讨论
作者: 孤高の狼    时间: 2007-1-10 05:16
居然没人回答我的问题?不可以让这个帖子沉没,我自己来顶起!
作者: oceary    时间: 2007-1-10 07:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: 孤高の狼    时间: 2007-1-10 17:33
把开头删去,直接用事件来做?恩,的确是一个可行的方法,不过,这样的话是否还可以加如流星雨的动画呢?也许可以只加这一段
  1. class Scene_Title
  2.   WEATHER = 4     # 使用自定义效果(0:无,1:雨,2:暴风雨,3:雪,4:自定义)
  3.   MAXNUMBER = 18  # 天气图片数量
  4.   
  5.   WEATHER_FILE = "Graphics/Pictures/Title_starlong.png"
  6.   # 自定义图片路径,这个文件可以从黑暗圣剑DEMO获得,是流星雨
  7.   
  8.   BLEND_TYPE = 1 # 合成方式(0:普通,1:加法,2:减法)
  9.   WEATHER_X = 5 # X方向每回合减少象素
  10.   WEATHER_Y = 5 # Y方向每回合减少象素
  11.   WEATHER_OPACITY = 2 #每回合减低透明度
  12.   START_OPACITY = 300 #出现时的透明度
  13.   RAND_X = 1200 # 随机X范围
  14.   RAND_Y = 600 # 随机Y范围
  15.   HEIGHT = -600 # 出现时候的屏幕Y
  16.   WIDTH = 100 # 出现时候的屏幕X
复制代码

但还没有试过,不知道行不行
作者: 金童工作室    时间: 2007-1-26 05:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 金童工作室    时间: 2007-1-26 05:50
提示: 作者被禁止或删除 内容自动屏蔽




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