Project1

标题: 求教已有存档的情况下跳过LOGO(开头动画)的命令如何写? [打印本页]

作者: jiangnanisme    时间: 2011-12-30 18:57
标题: 求教已有存档的情况下跳过LOGO(开头动画)的命令如何写?
根据添加LOGO添加开头动画修改的,插入Scene_Logo于场景画面中:

#=================================================
# ■ Scene_Logo
#-------------------------------------------------
#  处理LOGO的类。
#------------------------------------------------
#   原作者:绿梨子红苹果
#   移植:星恨无痕
#------------------------------------------------
# 说明:
#     ①在插入脚本前需要修改Main脚本段。
#       将原来的一句:
#       $scene = Scene_Title.new
#       修改为:
#       $scene = Scene_Logo.new
#     ②然后在Main脚本前插入以下脚本,命名为Scene_Logo
#     ③接着,把你想要作为LOGO的图片命名为LOGO.jpg后放在Pictures文件目
#    录下, 就可以了!音效的就命名为logo.wav放在SE文件夹,就是这么简单,
#     O(∩_∩)O哈哈~
#=================================================

class Scene_Logo
#-----------------------------------------------
# ● 主处理
#-----------------------------------------------
def main


   #播放音效
   logoSe = "Audio/BGM/OP.mp3"
   Audio.bgm_play(logoSe)
   # 生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-0.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=150
   # 执行过渡
   Graphics.transition(240)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(150)
  # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   

# 这里哦
      
   #再次生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-1.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=60
   # 执行过渡
   Graphics.transition(60)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(45)
   # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   
   
   #再次生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-2.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=60
   # 执行过渡
   Graphics.transition(60)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(45)
   # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   
   
   # 省略无数...

   # 进入标题画面
   $scene = Scene_Title.new
  end
end

修改的MAIN..

#==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  定义完毕所有的类之后,真正的程式开始于此。
#==============================================================================
Font.default_name = ["SimHei", "黑体", "DFKai-SB", "標楷體", "Verdana", "Arial Unicode MS"]
begin
  Graphics.freeze
  $scene = Scene_Logo.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("没有这样的档案或目录——", "")
  print("无法找到档案:#{filename}.")
end

涉及到的主要是这两个对方

然后希望说一下如何在再次生成LOGO图形前面添加"如果有存档,则直接进入Scene_Title"这个命令

提前谢谢-w-dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2011-12-30 19:38
  1. unless (Dir.glob('Save*.rvdata').size > 0)
复制代码
判断是否有存档文件。这个是没有存档文件的场合,执行以下内容。

因为没有详细脚本内容,无法写更详细的内容了。
作者: jiangnanisme    时间: 2012-1-6 12:56
class Scene_Logo
#-----------------------------------------------
# ● 主处理
#-----------------------------------------------
def main


   #播放音效
   logoSe = "Audio/BGM/OP.mp3"
   Audio.bgm_play(logoSe)
   # 生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-0.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=150
   # 执行过渡
   Graphics.transition(240)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(150)
  # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   

  # 这里哦
  unless (Dir.glob('Save*.rvdata').size > 0)

   #再次生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-1.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=60
   # 执行过渡
   Graphics.transition(60)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(45)
   # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   
   
   #再次生成LOGO图形
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new("Graphics/Pictures/M-2.jpg")
   @sprite.x = 0
   @sprite.y = 0
   # 显示计时器
   @show_time=60
   # 执行过渡
   Graphics.transition(60)
   # 主循环
   while @show_time>0 do
     # 刷新游戏画面
     Graphics.update
     # 显示计时器减一
     @show_time -= 1
   end
   # 准备过渡
   Graphics.freeze
   # 释放标题图形
   @sprite.bitmap.dispose
   @sprite.dispose
   
   # 执行过渡,过渡到全黑
   Graphics.transition(45)
   # 准备过渡,用于准备过渡到标题画面
   Graphics.freeze   
   
   # 省略无数...

   # 进入标题画面
   $scene = Scene_Title.new
  end
   # 进入标题画面
   $scene = Scene_Title.new
  end
end

这样的- -...

感谢~




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