赞 | 673 |
VIP | 62 |
好人卡 | 144 |
积分 | 335 |
经验 | 110435 |
最后登录 | 2024-11-1 |
在线时间 | 5108 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 33501
- 在线时间
- 5108 小时
- 注册时间
- 2012-11-19
- 帖子
- 4878
|
本帖最后由 芯☆淡茹水 于 2013-7-11 15:56 编辑
再把LZ的原脚本注释并解释下- #==============================================================================
- #如果 @flash_shake 的值不为 0 。(@flash_shake 为自定义,原脚本里没有)
- if @flash_shake != 0
- case @flash_shake # @flash_shake 的分支
- when 9..10 # 当 @flash_shake 值是 9 到 10 时
- $game_screen.start_shake(0,0,0) # 画面震动
- self.x = @battler.screen_x # X 坐标等于战斗者的战斗画面 X 坐标
- self.y -=4 # Y 坐标减去 4
- self.z = @battler.screen_z # Z 坐标等于战斗者的战斗画面 Z 坐标
- when 6..8 # 当 @flash_shake 值是 6 到 8 时
- $game_screen.start_shake(0,0,0)
- self.x = @battler.screen_x
- self.y -=2 # Y 坐标减去 2
- self.z = @battler.screen_z
- when 3..5 # 当 @flash_shake 值是 3 到 5 时
- $game_screen.start_shake(0,0,0)
- self.x = @battler.screen_x
- self.y +=2 # Y 坐标加上 2
- self.z = @battler.screen_z
- when 1..2 # 当 @flash_shake 值是 1 到 2 时
- $game_screen.start_shake(0,0,0)
- self.x = @battler.screen_x
- self.y += 4 # Y 坐标加上 4
- self.z = @battler.screen_z
- end
- @flash_shake -= 1 # @flash_shake 的值减去 1
- end
- #==============================================================================
- =begin
- 上面那段貌似定义在 Sprite_Battler 里,其作用是战斗者在特定条件下(比如挨打)
- 战斗者的战斗图上下晃动并加上画面震动。要实现这个效果时,先赋予 @flash_shake
- 一个值,大概是:@flash_shake = 10 。通过画面的刷新来实现 @flash_shake 的递减,
- 然后根据 @flash_shake 的值来上下“移动”战斗图。
- 比如 @flash_shake 的初始值是 10 ,然后符合 when 9..10 ,战斗图的 X 和 Z 坐标
- 不变,Y 坐标减 4 ,然后进行下面的 @flash_shake -= 1 ;下一次刷新时(当然刷新速度
- 是很快的),@flash_shake 的值就是 9 ,任然符合 when 9..10 ,Y 坐标再减去 4,
- @flash_shake 的值再减去 1 ;第三次刷新时,@flash_shake 的值就是 8 ,符合
- when 6..8 ,Y 坐标减去 2,@flash_shake 的值再减去 1;............@flash_shake
- 的值一直递减,直到下面的 when 3..5 和 when 1..2 全部都“进行”了两遍,一直到
- @flash_shake 的值等于 0 时。由于条件限制:if @flash_shake != 0 ,所以该功能
- 关闭,战斗图上下晃动结束。
- =end
- #==============================================================================
复制代码 突然发现自己适合去做脚本教程,,, |
评分
-
查看全部评分
|