设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2691|回复: 2
打印 上一主题 下一主题

[已经解决] 帮忙改脚本,去掉脚本里的画面淡出和淡入- -

[复制链接]

Lv2.观梦者

梦石
0
星屑
300
在线时间
161 小时
注册时间
2010-6-25
帖子
176
跳转到指定楼层
1
发表于 2010-6-30 15:05:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 神思 于 2010-7-3 21:55 编辑

RT,这是加Logo的脚本。
希望能去掉放完Logo后的转入标题的那突然一黑……
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ タイトル画面演出 - KGC_TitleDirection ◆ VX ◆
  3. #_/    ◇ Last update : 2008/09/06 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  タイトル画面に様々な演出を追加します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. #==============================================================================
  8. # ★ カスタマイズ項目 - Customize ★
  9. #==============================================================================

  10. module KGC
  11. module TitleDirection
  12.   # ◆ BGM の開始タイミング
  13.   #   0..ロゴ表示前  1..ロゴ表示後
  14.   BGM_TIMING = 1

  15.   # ◆ テストプレイでもロゴを表示
  16.   TESTPLAY_SHOW = true

  17.   # ◆ スプラッシュロゴ画像ファイル名(nil で解除)
  18.   #  "Graphics/System" から読み込む。
  19.   #  これを解除すると「ロゴ表示 SE」も無効。
  20.   SPLASH_LOGO_FILE = "Logo"
  21.   # ◆ スプラッシュロゴ表示 SE (nil で解除)
  22.   #   ファイル名表記  SPLASH_LOGO_SE = "start_logo"
  23.   #   クラス表記      SPLASH_LOGO_SE = RPG::SE.new("start_logo", 80, 100)
  24.   #  の2方式に対応。
  25.   SPLASH_LOGO_SE = nil
  26.   # ◆ スプラッシュロゴ演出形式
  27.   #   0..フェード  1..クロス  2..ズーム  3..スプラッシュ
  28.   SPLASH_LOGO_TYPE = 3
  29. end
  30. end

  31. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  32. $imported = {} if $imported == nil
  33. $imported["TitleDirection"] = true

  34. #==============================================================================
  35. # □ Sprite_TitleLogo
  36. #------------------------------------------------------------------------------
  37. #   タイトル画面のロゴを扱うクラスです。
  38. #==============================================================================

  39. class Sprite_TitleLogo < Sprite
  40.   attr_accessor :effect_no_out  # 消去エフェクトなし
  41.   #--------------------------------------------------------------------------
  42.   # ● オブジェクト初期化
  43.   #--------------------------------------------------------------------------
  44.   def initialize
  45.     super
  46.     @effect_type = 0
  47.     @effect_duration = 0
  48.     @effect_sprites = []
  49.     @effect_no_out = false
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 破棄
  53.   #--------------------------------------------------------------------------
  54.   def dispose
  55.     super
  56.     dispose_effect_sprites
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ○ エフェクト用スプライト破棄
  60.   #--------------------------------------------------------------------------
  61.   def dispose_effect_sprites
  62.     @effect_sprites.each { |s| s.dispose }
  63.     @effect_sprites = []
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● Z 座標変更
  67.   #--------------------------------------------------------------------------
  68.   def z=(value)
  69.     super(value)
  70.     @effect_sprites.each { |s| s.z = value }
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ○ フェード効果
  74.   #     dx : X 座標
  75.   #     dy : Y 座標
  76.   #     bitmap : 表示画像
  77.   #--------------------------------------------------------------------------
  78.   def effect_fade(dx, dy, bitmap)
  79.     dispose_effect_sprites
  80.     @effect_type = 0
  81.     @effect_duration = 150
  82.     # スプライト作成
  83.     sprite = Sprite.new
  84.     sprite.bitmap = bitmap
  85.     # 表示位置を調整
  86.     sprite.x = dx
  87.     sprite.y = dy
  88.     sprite.ox = bitmap.width / 2
  89.     sprite.oy = bitmap.height / 2
  90.     sprite.opacity = 0

  91.     @effect_sprites << sprite
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ○ クロス効果
  95.   #--------------------------------------------------------------------------
  96.   def effect_cross(dx, dy, bitmap)
  97.     dispose_effect_sprites
  98.     @effect_type = 1
  99.     @effect_duration = 150
  100.     # スプライト作成
  101.     sprites = [Sprite.new, Sprite.new]
  102.     sprites[0].bitmap = bitmap
  103.     sprites[1].bitmap = bitmap
  104.     # 表示位置を調整
  105.     sprites[0].x = dx - 240
  106.     sprites[1].x = dx + 240
  107.     sprites[0].y = dy
  108.     sprites[1].y = dy
  109.     sprites[0].ox = sprites[1].ox = bitmap.width / 2
  110.     sprites[0].oy = sprites[1].oy = bitmap.height / 2
  111.     sprites[0].opacity = 0
  112.     sprites[1].opacity = 0

  113.     @effect_sprites += sprites
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ○ ズーム効果
  117.   #--------------------------------------------------------------------------
  118.   def effect_zoom(dx, dy, bitmap)
  119.     dispose_effect_sprites
  120.     @effect_type = 2
  121.     @effect_duration = 150
  122.     # スプライト作成
  123.     sprites = [Sprite.new, Sprite.new]
  124.     sprites[0].bitmap = bitmap
  125.     sprites[1].bitmap = bitmap
  126.     # 初期設定
  127.     sprites[0].x = sprites[1].x = dx
  128.     sprites[0].y = sprites[1].y = dy
  129.     sprites[0].ox = sprites[1].ox = bitmap.width / 2
  130.     sprites[0].oy = sprites[1].oy = bitmap.height / 2
  131.     sprites[0].zoom_x = sprites[0].zoom_y = 0.0
  132.     sprites[1].zoom_x = sprites[1].zoom_y = 6.0
  133.     sprites[0].opacity = sprites[1].opacity = 0

  134.     @effect_sprites += sprites
  135.   end
  136.   #--------------------------------------------------------------------------
  137.   # ○ スプラッシュ効果
  138.   #--------------------------------------------------------------------------
  139.   def effect_splash(dx, dy, bitmap)
  140.     dispose_effect_sprites
  141.     @effect_type = 3
  142.     @effect_duration = 150
  143.     # スプライト作成
  144.     sprites = [Sprite.new]
  145.     sprites[0].bitmap = bitmap
  146.     # 初期設定
  147.     sprites[0].ox = bitmap.width >> 1
  148.     sprites[0].oy = bitmap.height >> 1
  149.     sprites[0].x = dx
  150.     sprites[0].y = dy
  151.     sprites[0].opacity = 0
  152.     (1..3).each { |i|
  153.       sprites[i] = Sprite.new
  154.       sprites[i].bitmap = bitmap
  155.       sprites[i].ox = sprites[0].ox
  156.       sprites[i].oy = sprites[0].oy
  157.       sprites[i].x = dx
  158.       sprites[i].y = dy
  159.       sprites[i].opacity = 255
  160.       sprites[i].visible = false
  161.     }

  162.     @effect_sprites += sprites
  163.   end
  164.   #--------------------------------------------------------------------------
  165.   # ○ スプラッシュイン効果
  166.   #--------------------------------------------------------------------------
  167.   def effect_splash_in(dx, dy, bitmap)
  168.     dispose_effect_sprites
  169.     @effect_type = 4
  170.     @effect_duration = 41
  171.     # スプライト作成
  172.     sprites = [Sprite.new]
  173.     sprites[0].bitmap = bitmap
  174.     # 初期設定
  175.     sprites[0].ox = bitmap.width >> 1
  176.     sprites[0].oy = bitmap.height >> 1
  177.     sprites[0].x = dx - 160
  178.     sprites[0].y = dy - 160
  179.     sprites[0].opacity = 0
  180.     (1..3).each { |i|
  181.       sprites[i] = Sprite.new
  182.       sprites[i].bitmap = bitmap
  183.       sprites[i].ox = sprites[0].ox
  184.       sprites[i].oy = sprites[0].oy
  185.       sprites[i].x = dx
  186.       sprites[i].y = dy
  187.       sprites[i].opacity = 0
  188.     }
  189.     sprites[1].x += 160
  190.     sprites[1].y -= 160
  191.     sprites[2].x += 160
  192.     sprites[2].y += 160
  193.     sprites[3].x -= 160
  194.     sprites[3].y += 160

  195.     @effect_sprites += sprites
  196.   end
  197.   #--------------------------------------------------------------------------
  198.   # ○ エフェクト停止
  199.   #--------------------------------------------------------------------------
  200.   def stop_effect
  201.     dispose_effect_sprites
  202.     @effect_duration = 0
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ○ エフェクト実行中判定
  206.   #--------------------------------------------------------------------------
  207.   def effect?
  208.     return @effect_duration > 0
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ● フレーム更新
  212.   #--------------------------------------------------------------------------
  213.   def update
  214.     super

  215.     if @effect_duration > 0
  216.       update_effect
  217.     end
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ○ エフェクト更新
  221.   #--------------------------------------------------------------------------
  222.   def update_effect
  223.     @effect_duration -= 1
  224.     case @effect_type
  225.     when 0
  226.       update_effect_fade
  227.     when 1
  228.       update_effect_cross
  229.     when 2
  230.       update_effect_zoom
  231.     when 3
  232.       update_effect_splash
  233.     when 4
  234.       update_effect_splash_in
  235.     end
  236.   end
  237.   #--------------------------------------------------------------------------
  238.   # ○ エフェクト更新 : フェード
  239.   #--------------------------------------------------------------------------
  240.   def update_effect_fade
  241.     case @effect_duration
  242.     when 100...150
  243.       @effect_sprites[0].opacity += 6
  244.     when 30...100
  245.       # 何もしない
  246.     when 0...30
  247.       unless @effect_no_out
  248.         @effect_sprites[0].opacity -= 10
  249.       end
  250.     end
  251.   end
  252.   #--------------------------------------------------------------------------
  253.   # ○ エフェクト更新 : クロス
  254.   #--------------------------------------------------------------------------
  255.   def update_effect_cross
  256.     case @effect_duration
  257.     when 110...150
  258.       @effect_sprites[0].x += 6
  259.       @effect_sprites[1].x -= 6
  260.       @effect_sprites[0].opacity += 4
  261.       @effect_sprites[1].opacity += 4
  262.     when 30...110
  263.       @effect_sprites[0].opacity = 255
  264.       @effect_sprites[1].visible = false
  265.     when 0...30
  266.       unless @effect_no_out
  267.         @effect_sprites[0].opacity -= 13
  268.       end
  269.     end
  270.   end
  271.   #--------------------------------------------------------------------------
  272.   # ○ エフェクト更新 : ズーム
  273.   #--------------------------------------------------------------------------
  274.   def update_effect_zoom
  275.     case @effect_duration
  276.     when 100...150
  277.       @effect_sprites[0].zoom_x = (@effect_sprites[0].zoom_y += 0.02)
  278.       @effect_sprites[1].zoom_x = (@effect_sprites[1].zoom_y -= 0.1)
  279.       @effect_sprites[0].opacity += 3
  280.       @effect_sprites[1].opacity += 3
  281.     when 30...100
  282.       @effect_sprites[0].opacity = 255
  283.       @effect_sprites[1].visible = false
  284.     when 0...30
  285.       unless @effect_no_out
  286.         @effect_sprites[0].opacity -= 13
  287.       end
  288.     end
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ○ エフェクト更新 : スプラッシュ
  292.   #--------------------------------------------------------------------------
  293.   def update_effect_splash
  294.     case @effect_duration
  295.     when 90...150
  296.       @effect_sprites[0].opacity += 5
  297.     when 0...60
  298.       @effect_sprites[0].x -= 2
  299.       @effect_sprites[0].y -= 2
  300.       @effect_sprites[1].x += 2
  301.       @effect_sprites[1].y -= 2
  302.       @effect_sprites[2].x += 2
  303.       @effect_sprites[2].y += 2
  304.       @effect_sprites[3].x -= 2
  305.       @effect_sprites[3].y += 2
  306.       4.times { |j|
  307.         @effect_sprites[j].visible = true
  308.         @effect_sprites[j].opacity -= 5
  309.       }
  310.     end
  311.   end
  312.   #--------------------------------------------------------------------------
  313.   # ○ エフェクト更新 : スプラッシュイン
  314.   #--------------------------------------------------------------------------
  315.   def update_effect_splash_in
  316.     case @effect_duration
  317.     when 1...41
  318.       @effect_sprites[0].x += 2
  319.       @effect_sprites[0].y += 2
  320.       @effect_sprites[1].x -= 2
  321.       @effect_sprites[1].y += 2
  322.       @effect_sprites[2].x -= 2
  323.       @effect_sprites[2].y -= 2
  324.       @effect_sprites[3].x += 2
  325.       @effect_sprites[3].y -= 2
  326.       4.times { |j|
  327.         @effect_sprites[j].opacity += 3
  328.       }
  329.     when 0
  330.       @effect_sprites[0].opacity = 255
  331.       (1..3).each { |i|
  332.         @effect_sprites[i].visible = false
  333.       }
  334.     end
  335.   end
  336. end

  337. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  338. #==============================================================================
  339. # ■ Scene_Title
  340. #==============================================================================

  341. class Scene_Title < Scene_Base
  342.   #--------------------------------------------------------------------------
  343.   # ● 開始処理
  344.   #--------------------------------------------------------------------------
  345.   alias start_KGC_TitleDirection start
  346.   def start
  347.     show_splash_logo

  348.     start_KGC_TitleDirection
  349.   end
  350.   #--------------------------------------------------------------------------
  351.   # ○ スプラッシュロゴ表示
  352.   #--------------------------------------------------------------------------
  353.   def show_splash_logo
  354.     return if $__splash_logo_shown
  355.     return if $TEST && !KGC::TitleDirection::TESTPLAY_SHOW
  356.     return if KGC::TitleDirection::SPLASH_LOGO_FILE == nil

  357.     play_title_music if KGC::TitleDirection::BGM_TIMING == 0

  358.     # ロゴ表示 SE 演奏
  359.     if KGC::TitleDirection::SPLASH_LOGO_SE != nil
  360.       if KGC::TitleDirection::SPLASH_LOGO_SE.is_a?(RPG::SE)
  361.         KGC::TitleDirection::SPLASH_LOGO_SE.play
  362.       elsif KGC::TitleDirection::SPLASH_LOGO_SE.is_a?(String)
  363.         se = RPG::SE.new(KGC::TitleDirection::SPLASH_LOGO_SE)
  364.         se.play
  365.       end
  366.     end

  367.     # エフェクト用スプライト作成
  368.     sprite = Sprite_TitleLogo.new
  369.     bitmap = Cache.system(KGC::TitleDirection::SPLASH_LOGO_FILE)
  370.     dx = Graphics.width / 2
  371.     dy = Graphics.height / 2

  372.     # エフェクト準備
  373.     case KGC::TitleDirection::SPLASH_LOGO_TYPE
  374.     when 0
  375.       sprite.effect_fade(dx, dy, bitmap)
  376.     when 1
  377.       sprite.effect_cross(dx, dy, bitmap)
  378.     when 2
  379.       sprite.effect_zoom(dx, dy, bitmap)
  380.     when 3
  381.       sprite.effect_splash(dx, dy, bitmap)
  382.     end
  383.     # エフェクト実行
  384.     Graphics.transition(0)
  385.     while sprite.effect?
  386.       Graphics.update
  387.       Input.update
  388.       sprite.update
  389.       # C ボタンで中止
  390.       if Input.trigger?(Input::C)
  391.         sprite.stop_effect
  392.         RPG::SE.stop
  393.       end
  394.     end
  395.     # 後始末
  396.     sprite.dispose
  397.     bitmap.dispose
  398.     # トランジション準備
  399.     Graphics.freeze

  400.     $__splash_logo_shown = true
  401.   end
  402. end
复制代码

Lv1.梦旅人

梦石
0
星屑
65
在线时间
385 小时
注册时间
2007-7-27
帖子
4106

开拓者

2
发表于 2010-7-1 20:15:42 | 只看该作者
试了一下,发现没有一黑啊

如果你说的是logo先是完毕那个黑出黑入,那个是scene的通用方法,在结束的时候freeze,然后载入下一个scene,然后过渡一下。虽然可以改,不过就麻烦多了
吸吸
回复 支持 反对

使用道具 举报

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

3
发表于 2010-7-3 21:54:57 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================

  6. class Scene_Title < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 执行转换
  9.   #--------------------------------------------------------------------------
  10.   def perform_transition
  11.     Graphics.transition(0)
  12.   end
  13. end
复制代码
-.-
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 14:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表