查看: 2803|回复: 7

[已经解决] 如何在标题画面前显示一张图片,之后再切入标题画面?

[复制链接]
梦石
0
星屑
50
在线时间
1 小时
注册时间
2017-8-16
回帖
1
发表于 2017-8-16 14:10:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
{:2_259:}

杯犬

梦石
1
星屑
5425
在线时间
1274 小时
注册时间
2016-10-28
回帖
581

开拓者

发表于 2017-8-16 14:29:41 | 显示全部楼层
喵呜喵5大大有一个这功能的脚本,自己去搜一下。

点评

你好,在吗?  发表于 2017-8-16 16:06
用脑子来养鱼的杯子。
回复

使用道具 举报

梦石
0
星屑
48
在线时间
426 小时
注册时间
2011-2-25
回帖
120
发表于 2017-8-16 14:32:38 | 显示全部楼层
本帖最后由 VIPArcher 于 2017-8-16 21:14 编辑

[pre lang="ruby"]#==============================================================================
# ★ ロゴ画面表示 [RGSS3] ver.1.22 / by sonic
# http://www.liberalcat.com/
#------------------------------------------------------------------------------
# ロゴを表示するスプラッシュ画面を描画するスクリプトです。
#==============================================================================

module CONF_LOGO

#------------------------------------------------------------------------------
# ☆ カスタマイズ項目
#------------------------------------------------------------------------------

  # ロゴ表示機能のon/off(機能on:true 機能off:false)
  USE_LOGO = true
  
  # リセットした場合のロゴ表示on/off(表示on:true 表示off:false)
  RESET_LOGO = false
  
  # テスト時のロゴ表示on/off(表示on:true 表示off:false)
  TEST_LOGO = true
  
  # ボタンを押したときのロゴスキップ機能のon/off(機能on:true 機能off:false)
  SKIP_LOGO = false
  
  # ロゴとして表示する画像ファイル名
  # (Graphics/System/にインポートした画像ファイル名を設定)
  FILE_LOGO = "rogo"
  
  # ロゴ表示中のSEまたMEファイル名
  # (Audio/SE/またはAudio/ME/にインポートした音楽ファイル名を設定)
  # ※SEに該当ファイルがなければMEをチェックし、どちらにも無ければ音無し
  MU_LOGO = "GORPG"
  
  # ロゴのフェードイン、フェードアウト速度(フレーム数)
  FADE_SPEED_LOGO = 100
  
  # ロゴ表示の長さ(フレーム数)
  DISP_FLAME_LOGO = 300

#------------------------------------------------------------------------------
# ☆ 終了
#------------------------------------------------------------------------------

end

#==============================================================================
# ■ Scene_Logo
#------------------------------------------------------------------------------
#  ロゴスプラッシュの処理を行うクラスです。
#==============================================================================

class Scene_Logo < Scene_Base
#------------------------------------------------------------------------------
# □ 設定値記述部
#------------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
    SceneManager.clear
    Graphics.freeze
    create_logo
    play_logo_music
  end
  #--------------------------------------------------------------------------
  # ● 開始後処理
  #--------------------------------------------------------------------------
  def post_start
    perform_transition
    Input.update
    @count = CONF_LOGO::DISP_FLAME_LOGO
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias :_orig_update :update
  def update
    _orig_update
    SceneManager.goto(Scene_Title) if disp_logo?
  end
  #--------------------------------------------------------------------------
  # ● ロゴ表示のフレームカウントと判定
  #--------------------------------------------------------------------------
  def disp_logo?
    if Input.trigger?(:C)
      true if CONF_LOGO::SKIP_LOGO
    else
      @count -= 1
      true if @count <= 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 終了前処理
  #--------------------------------------------------------------------------
  def pre_terminate
    fadeout_all(transition_speed)
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_logo
  end
  #--------------------------------------------------------------------------
  # ● フェード速度の取得
  #--------------------------------------------------------------------------
  def transition_speed
    if Input.trigger?(:C)
      return 0
    else
      return CONF_LOGO::FADE_SPEED_LOGO
    end
  end
  #--------------------------------------------------------------------------
  # ● ロゴの作成
  #--------------------------------------------------------------------------
  def create_logo
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system(CONF_LOGO::FILE_LOGO)
    center_sprite(@sprite)
  end
  #--------------------------------------------------------------------------
  # ● ロゴの解放
  #--------------------------------------------------------------------------
  def dispose_logo
    @sprite.bitmap.dispose
    @sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● スプライトを画面中央に移動
  #--------------------------------------------------------------------------
  def center_sprite(sprite)
    sprite.ox = sprite.bitmap.width / 2
    sprite.oy = sprite.bitmap.height / 2
    sprite.x = Graphics.width / 2
    sprite.y = Graphics.height / 2
  end
  #--------------------------------------------------------------------------
  # ● ロゴ表示時の音
  #--------------------------------------------------------------------------
  def play_logo_music
    @use_se = true
    @use_me = false
  
    logo_music = RPG::SE.new(CONF_LOGO::MU_LOGO)
    logo_music.play rescue @use_se = false
   
    unless @use_se
      @use_me = true
      logo_music = RPG::ME.new(CONF_LOGO::MU_LOGO)
      logo_music.play rescue @use_me = false
    end
   
  end
  #--------------------------------------------------------------------------
  # ● サウンドとグラフィックのフェードアウト
  #--------------------------------------------------------------------------
  def fadeout_all(time)
    RPG::ME.fade(time) if @use_me
    Graphics.fadeout(time)
    RPG::SE.stop if @use_se
    RPG::ME.stop if @use_me
  end
end

#==============================================================================
# ■ SceneManager
#------------------------------------------------------------------------------
#  シーン遷移を管理するモジュールです。たとえばメインメニューからアイテム画面
# を呼び出し、また戻るというような階層構造を扱うことができます。
#==============================================================================

module SceneManager
  @reset_flg = true
  #--------------------------------------------------------------------------
  # ● 最初のシーンクラスを取得
  #--------------------------------------------------------------------------
  def self.first_scene_class
    if CONF_LOGO::USE_LOGO and @reset_flg
      @reset_flg = false
      # ロゴ表示を行う場合
      if CONF_LOGO::TEST_LOGO
        # テストでロゴ表示を行う場合
        $BTEST ? Scene_Battle : Scene_Logo
      else
        # テスト時にロゴ表示を行わない場合
        $BTEST ? Scene_Battle : ( $TEST ? Scene_Title : Scene_Logo )
      end
    else
      # ロゴ表示を行わない場合
      $BTEST ? Scene_Battle : Scene_Title
    end
  end
end[/pre]
我只是来加个代码框,下一次发代码注意使用代码框框起来

点评

有什么问题吗?  发表于 2017-8-16 16:34
你好,在吗?  发表于 2017-8-16 16:06

评分

参与人数 1星屑 +233 收起 理由
VIPArcher + 233 塞糖

查看全部评分

回复

使用道具 举报

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2017-8-16 14:54:22 | 显示全部楼层
回复 1 0

使用道具 举报

梦石
0
星屑
50
在线时间
1 小时
注册时间
2017-8-16
回帖
1
 楼主| 发表于 2017-8-16 15:45:25 | 显示全部楼层
喵呜喵5 发表于 2017-8-16 14:54
https://rpg.blue/home.php?mod=space&uid=291206&do=blog&id=13469

谢谢!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部