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

Project1

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

[已经过期] 如何使技能动画施放时屏幕震动?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
90 小时
注册时间
2009-5-25
帖子
73
跳转到指定楼层
1
发表于 2011-1-12 15:43:43 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
RT
想要实现的效果是释放技能的时候屏幕能够震动,和事件中添加的效果一样就行。
但是不想用事件做,放在每次战斗中又要设置开光,又要每个敌人都复制太麻烦,有这方面的脚本支援么?

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
9
发表于 2011-1-14 15:02:11 | 只看该作者
回复 domencasio 的帖子

……偶错了T.T 在下在自己受到攻击的时候画面都在震动,就以为动画里面设置了……貌似是里面的某个脚本起作用,呜
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
90 小时
注册时间
2009-5-25
帖子
73
8
 楼主| 发表于 2011-1-14 12:20:34 | 只看该作者
回复 terry_zhp 的帖子

技能运行公共事件只能实现
技能施放完毕-》公共事件
无法实现
技能施放中-》公共事件

点评

喵,7楼脚本可以任意设置强度,如果想用一致的就用6楼的吧  发表于 2011-1-14 12:25
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1323
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
7
发表于 2011-1-14 12:08:35 | 只看该作者
本帖最后由 九夜神尊 于 2011-1-14 12:22 编辑

其实我这里有相应脚本,只不过不是我的原创。不能用来发布
用法:就跟设置动画一样!
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def animation_process_timing(timing, hit)
  4.       if (timing.condition == 0) or
  5.          (timing.condition == 1 and hit == true) or
  6.          (timing.condition == 2 and hit == false)
  7.         if timing.se.name != ""
  8.           se = timing.se
  9.           Audio.se_play("Audio/SE/" + se.name, se.volume, se.pitch)
  10.         end
  11.         case timing.flash_scope
  12.         when 1
  13.           self.flash(timing.flash_color, timing.flash_duration * 2)
  14.         when 2
  15.           if timing.flash_color.alpha == 0
  16.             if (timing.flash_duration <= 3)
  17.               if $_orzFly_EnhancedShake
  18.                 $game_screen.start_shake(timing.flash_color.red, timing.flash_color.green, timing.flash_color.blue * 2, timing.flash_duration - 1) unless $game_screen.nil?
  19.               else
  20.                 $game_screen.start_shake(timing.flash_color.red, timing.flash_color.green, timing.flash_color.blue * 2) unless $game_screen.nil?
  21.               end
  22.             end
  23.           else
  24.             if self.viewport != nil
  25.               self.viewport.flash(timing.flash_color, timing.flash_duration * 2)
  26.             end
  27.           end
  28.         when 3
  29.           self.flash(nil, timing.flash_duration * 2)
  30.         end
  31.       end
  32.     end
  33.   end
  34. end
  35. class Spriteset_Battle
  36.   alias :_orzFly_EnhancedShake_update :update
  37.   def update
  38.     ox, oy = @viewport1.ox, @viewport1.oy
  39.     if ($game_screen.shake_duration <= 1)
  40.       ox, oy = 0, 0
  41.     else
  42.       if ($game_screen.shake_type == 0)
  43.         ox = $game_screen.shake
  44.       elsif ($game_screen.shake_type == 1)
  45.         oy = $game_screen.shake
  46.       elsif ($game_screen.shake_type == 2)
  47.         ox, oy = $game_screen.shake, $game_screen.shake
  48.       end
  49.       ox *= -1 if rand() < 0.5
  50.       oy *= -1 if rand() < 0.5
  51.       ox *= rand()
  52.       oy *= rand()
  53.     end
  54.     _orzFly_EnhancedShake_update
  55.     @viewport1.ox, @viewport1.oy = ox, oy
  56.     @viewport1.update
  57.   end
  58. end
  59. class Game_Screen
  60.   attr_reader :shake_type
  61.   attr_reader :shake_duration
  62.   alias :_orzFly_EnhancedShake_initialize :initialize
  63.   def initialize
  64.     _orzFly_EnhancedShake_initialize
  65.     @shake_type = 0
  66.   end
  67.   def start_shake(power, speed, duration, type = 0)
  68.     @shake_power = power
  69.     @shake_speed = speed
  70.     @shake_duration = duration
  71.     @shake_type = type
  72.   end
  73.   alias :_orzFly_EnhancedShake_update :update
  74.   def update
  75.     old_shake, old_shake_duration, old_shake_direction = @shake, @shake_duration, @shake_direction
  76.     _orzFly_EnhancedShake_update
  77.     @shake, @shake_duration, @shake_direction = old_shake, old_shake_duration, old_shake_direction   
  78.     if @shake_duration >= 1 or @shake != 0
  79.       delta = (@shake_power * @shake_speed * @shake_direction) / 10.0
  80.       if @shake_duration <= 1 and @shake * (@shake + delta) < 0
  81.         @shake = 0
  82.       else
  83.         @shake += delta
  84.       end
  85.       if @shake > @shake_power * 2
  86.         @shake_direction = -1
  87.       end
  88.       if @shake < - @shake_power * 2
  89.         @shake_direction = 1
  90.       end
  91.       if @shake_duration >= 1
  92.         @shake_duration -= 1
  93.       end
  94.     end
  95.   end
  96. end
复制代码
使用方法:

未命名.jpg (55.03 KB, 下载次数: 21)

未命名.jpg

点评

多谢  发表于 2011-1-14 12:25
喵神尊君好久不见  发表于 2011-1-14 12:19
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42409
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

6
发表于 2011-1-14 12:07:10 | 只看该作者
本帖最后由 fux2 于 2011-1-14 12:34 编辑

回复 domencasio 的帖子

如果想滤掉特殊技能自行判断吧
  1. class Scene_Battle < Scene_Base
  2.   
  3.   alias:fux2:execute_action_skill
  4.   def execute_action_skill
  5.     $game_troop.screen.start_shake(5, 5, 10)
  6.     @spriteset.fux2.ox = $game_troop.screen.shake
  7.     fux2
  8.   end
  9.   
  10. end

  11. class Spriteset_Battle
  12.   
  13.   def fux2
  14.     return @viewport1
  15.   end
  16.   
  17. end
复制代码

点评

XD  发表于 2011-1-14 12:33
又是fux2的字句,好邪恶啊~  发表于 2011-1-14 12:32
同样感谢  发表于 2011-1-14 12:26
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
5
发表于 2011-1-14 11:22:05 | 只看该作者
回复 domencasio 的帖子

你是想每次技能攻击震动频率都一样吗?
这样会很怪吧- -
不然用脚本的话也还是要逐个技能逐个技能设置震动频率呃
也就是震动的强度、速度还有时间
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
90 小时
注册时间
2009-5-25
帖子
73
4
 楼主| 发表于 2011-1-14 11:11:55 | 只看该作者
本帖最后由 domencasio 于 2011-1-14 11:12 编辑

回复 企鹅达达 的帖子
用了两年了我都不知道
怎么设置震动,只能设置颜色闪烁吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
829 小时
注册时间
2010-6-26
帖子
671
3
发表于 2011-1-12 19:29:16 | 只看该作者
技能需要设置技能动画,而动画里面右上角的框框可以设置震动、变色、声效……
新手们!不要被看扁了!我们也会用论坛搜索,我们也会自己找脚本,我们也会自己点击关闭按钮旁边的小问号!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
189 小时
注册时间
2009-12-15
帖子
343
2
发表于 2011-1-12 16:05:43 | 只看该作者
特技可以调用公共事件,在公共事件内设置就可以了
第二部游戏 《求职大作战》http://rpg.blue/thread-165630-1-1.html
第一部游戏 《天宇传奇》http://rpg.blue/thread-140339-1-1.html
柳柳新人/进阶教程,视频全集 http://rpg.blue/thread-164472-1-1.html
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 22:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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