Project1

标题: 如何做到远景图切换过渡自然 [打印本页]

作者: 布喵酱    时间: 2014-5-2 22:13
标题: 如何做到远景图切换过渡自然
本帖最后由 布喵酱 于 2014-5-3 14:28 编辑

我想做成日夜更替的效果,用等待时间来控制画面色调从早到晚发生变化,也切换远景图,但是远景图刷的一下就换了看着很不自然,有没有让它过渡自然一点的方法呢?比如给它加个淡入淡出效果之类的,有这样的吗。。?谢谢大家~求帮忙啊!!!!木人回复好心酸。。
作者: 布喵酱    时间: 2014-5-3 20:30
求回复求看求帮忙的说!
作者: sh0016    时间: 2014-5-4 07:14
比较简易的解决方式可以在换色调的时候淡出淡入画面,或者不用远景图......
作者: 布喵酱    时间: 2014-5-4 13:43
sh0016 发表于 2014-5-4 07:14
比较简易的解决方式可以在换色调的时候淡出淡入画面,或者不用远景图...... ...

。。可是那样就不是我想要的效果了啊。。。我去把远景图改成过渡的好了。。
作者: sh0016    时间: 2014-5-4 18:15
随便试了一下,过渡或多或少可以实现,目前想到了2种办法。

第一种是调整透明度,但这样在背景交换中的一定时间内背景会变成完全黑色,也谈不上多自然,或许还没有画面淡出淡入那么自然......
另一种是设置2张远景图,同样是调整透明度但2张同时调整可以达到逐渐过度的效果,应该就是楼主需要的效果,但这样的写法需要花一定的时间,对我这样的学生来说这时期实在是(ry

如果第一种方式也没问题的话现在就有准备好的脚本......
  1. #==============================================================================
  2. # ■ Spriteset_Map
  3. #------------------------------------------------------------------------------
  4. #  处理地图画面精灵和图块的类。本类在 Scene_Map 类的内部使用。
  5. #==============================================================================

  6. class Spriteset_Map
  7.   #--------------------------------------------------------------------------
  8.   # ● 更新远景图
  9.   #--------------------------------------------------------------------------
  10.   def update_parallax
  11.     if @parallax.bitmap.nil?
  12.       @parallax_name = $game_map.parallax_name
  13.       @parallax.bitmap.dispose if @parallax.bitmap
  14.       @parallax.bitmap = Cache.parallax(@parallax_name)
  15.       Graphics.frame_reset
  16.     elsif @parallax_name != $game_map.parallax_name
  17.       @parallax.opacity -= 5
  18.       if @parallax.opacity == 0
  19.       @parallax_name = $game_map.parallax_name
  20.       @parallax.bitmap.dispose if @parallax.bitmap
  21.       @parallax.bitmap = Cache.parallax(@parallax_name)
  22.       Graphics.frame_reset
  23.       end
  24.     else
  25.       @parallax.opacity += 5 unless @parallax.opacity == 255
  26.     end
  27.     @parallax.ox = $game_map.parallax_ox(@parallax.bitmap)
  28.     @parallax.oy = $game_map.parallax_oy(@parallax.bitmap)
  29.   end
  30. end
复制代码





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