Project1

标题: 请问如何制作一个震动效果 [打印本页]

作者: wuchen880823    时间: 2011-3-2 07:53
标题: 请问如何制作一个震动效果
如在某山洞打死了boss 山洞开始崩溃之类的那种地震,在逃出山洞之前一直是震动状态。VX里那个震动好像做不出来。
作者: Rion幻音    时间: 2011-3-2 14:06
并行处理,再打开开关一直震动就好了啊~
作者: 冰舞蝶恋    时间: 2011-3-2 20:15
本帖最后由 冰舞蝶恋 于 2011-3-2 20:16 编辑

并行,画面震动,在传送出去自动就不震了。
作者: fmy19960827    时间: 2011-3-2 21:19
回复 冰舞蝶恋 的帖子

传说出去就不震了?移动场景后?把并行的事件复制到新场景去不就好了么?
作者: 冰舞蝶恋    时间: 2011-3-2 21:23
回复 fmy19960827 的帖子

楼主要的是出去就不震了啊!你没看清要求么
作者: 亿万星辰    时间: 2011-3-2 21:37
本帖最后由 亿万星辰 于 2011-3-2 21:42 编辑

我依稀记得写过个真·地震脚本可以横竖不停的晃,晃的很逼真……
[line]1[/line]
注:这个不是原版的~

  1. #==============================================================================
  2. # ■ 真·地震                             BY 亿万星辰@2005
  3. #==============================================================================
  4. # ■ Spriteset_Map
  5. #------------------------------------------------------------------------------
  6. #  处理地图画面活动块和元件的类。本类在
  7. # Scene_Map 类的内部使用。
  8. #==============================================================================

  9. class Spriteset_Map
  10. #--------------------------------------------------------------------------
  11. # ● 刷新画面
  12. #--------------------------------------------------------------------------
  13. def update
  14.   # 如果远景与当前情况不同
  15.   if @panorama_name != $game_map.panorama_name or
  16.     @panorama_hue != $game_map.panorama_hue
  17.     @panorama_name = $game_map.panorama_name
  18.     @panorama_hue = $game_map.panorama_hue
  19.     if @panorama.bitmap != nil
  20.     @panorama.bitmap.dispose
  21.     @panorama.bitmap = nil
  22.     end
  23.     if @panorama_name != ""
  24.     @panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
  25.     end
  26.     Graphics.frame_reset
  27.   end
  28.   # 如果雾与当前的情况不同
  29.   if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
  30.     @fog_name = $game_map.fog_name
  31.     @fog_hue = $game_map.fog_hue
  32.     if @fog.bitmap != nil
  33.     @fog.bitmap.dispose
  34.     @fog.bitmap = nil
  35.     end
  36.     if @fog_name != ""
  37.     @fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
  38.     end
  39.     Graphics.frame_reset
  40.   end
  41.   # 刷新元件地图
  42.   @tilemap.ox = $game_map.display_x / 4
  43.   @tilemap.oy = $game_map.display_y / 4
  44.   @tilemap.update
  45.   # 刷新远景平面
  46.   @panorama.ox = $game_map.display_x / 8
  47.   @panorama.oy = $game_map.display_y / 8
  48.   # 刷新雾平面
  49.   @fog.zoom_x = $game_map.fog_zoom / 100.0
  50.   @fog.zoom_y = $game_map.fog_zoom / 100.0
  51.   @fog.opacity = $game_map.fog_opacity
  52.   @fog.blend_type = $game_map.fog_blend_type
  53.   @fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
  54.   @fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
  55.   @fog.tone = $game_map.fog_tone
  56.   # 刷新角色精灵光标
  57.   for sprite in @character_sprites
  58.     sprite.update
  59.   end
  60.   # 刷新天候图形
  61.   @weather.type = $game_screen.weather_type
  62.   @weather.max = $game_screen.weather_max
  63.   @weather.ox = $game_map.display_x / 4
  64.   @weather.oy = $game_map.display_y / 4
  65.   @weather.update
  66.   # 刷新图片
  67.   for sprite in @picture_sprites
  68.     sprite.update
  69.   end
  70.   # 刷新计时器精灵光标
  71.   @timer_sprite.update
  72.   # 设置画面的色调与震动位置
  73.    @viewport1.tone = $game_screen.tone
  74.    @viewport1.ox = (-1) ** rand(2) * $game_screen.shake
  75.    @viewport1.oy = (-1) ** rand(2) * $game_screen.shake
  76.   #让图片也可以震动
  77.   @viewport2.tone = $game_screen.tone
  78.   @viewport2.ox = (-1) ** rand(2) * $game_screen.shake
  79.   @viewport2.oy = (-1) ** rand(2) * $game_screen.shake
  80.   # 设置画面的闪烁色
  81.   #@viewport4.color = $game_screen.flash_color
  82.   # 刷新视图
  83.   @viewport1.update
  84.   @viewport2.update
  85.   @viewport3.update
  86.   #@viewport4.update
  87. end
  88. end
复制代码





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