Project1
标题:
仿RMVA战斗动画(全体动画依次播放)
[打印本页]
作者:
各种压力的猫君
时间:
2012-1-5 21:28
标题:
仿RMVA战斗动画(全体动画依次播放)
本帖最后由 各种压力的猫君 于 2012-1-6 02:20 编辑
根据XP提问区问题(
關於戰鬥動畫
)制作
#==============================================================================
# ■ [Ntec]RMVA_Style_Battle_Animation v1.0
#------------------------------------------------------------------------------
# 仿RMVA战斗动画(全体动画依次播放)
#-------------------------------------------------------------------------------
# 脚本作者: 各种压力的猫君
# RGSS版本: RGSS (Rpg Maker XP)
#-------------------------------------------------------------------------------
# 更新记录:
# ◇2012-01-05 v1.0 by 各种压力的猫君
# └初版;
#-------------------------------------------------------------------------------
# 插入位置:
# Scene_Battle 4 之下。
# 使用方法:
# 插入脚本到正确位置并在通用配置模块中配置相应设定。
# 脚本说明:
# 无
#===============================================================================
#-------------------------------------------------------------------------------
# ▼ Ntec 通用配置模块
#-------------------------------------------------------------------------------
module Ntec
module RMVA_Style_Battle_Animation
# 动画间隔时间(帧)
# -1 等待到动画播放结束
WAIT_DURATION = 15
# 伤害文字显示方式
# 0 全体动画播放完毕后一起显示
# 1 随动画播放显示(在等待之前)
# 2 随动画播放显示(在等待之后)
POP_TEXT_STYLE = 1
# 显示动画时是否隐藏帮助窗口(界面顶端显示技能名的窗口)
# 0 一直显示
# 1 第一个伤害文字弹出之前隐藏
# 2 第一个伤害文字弹出之后隐藏
HIDE_HELP_WINDOW = 0
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"
"┃ [Ntec] 自定义内容到此结束,以下内容切勿随意修改 ┃"
"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
# 版本号
VERSION = 1.0
# 错误时操作
ON_ERROR = "exit"
# 检测运行环境
if RUBY_VERSION == "1.9.2"
print "检测到当前运行环境为RGSS3 (Rpg Maker VX Ace)\n" +
"\n本脚本暂不支持此运行环境\n" +
"\n按确定键退出"
eval Ntec::Para_Expander::ON_ERROR
end
if defined? $TEST
print "检测到当前运行环境为RGSS2 (Rpg Maker VX)\n" +
"\n本脚本暂不支持此运行环境\n" +
"\n按确定键退出"
eval Ntec::Para_Expander::ON_ERROR
end
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update_for_wait
# 基本刷新
Graphics.update
Input.update
# 系统 (计时器)、刷新画面
$game_system.update
$game_screen.update
# 计时器为 0 的情况下
if $game_system.timer_working and $game_system.timer == 0
# 中断战斗
$game_temp.battle_abort = true
end
# 刷新窗口
@help_window.update
@party_command_window.update
@actor_command_window.update
@status_window.update
@message_window.update
# 刷新活动块
@spriteset.update
end
#--------------------------------------------------------------------------
# ● abs_wait FROM Ace
#--------------------------------------------------------------------------
def abs_wait(duration)
duration.times {|i| update_for_wait }
end
#--------------------------------------------------------------------------
# ● abs_wait_short FROM Ace 改
#--------------------------------------------------------------------------
def abs_wait_short
if Ntec::RMVA_Style_Battle_Animation::WAIT_DURATION == -1
abs_wait($data_animations[@animation2_id].frame_max)
else
abs_wait(Ntec::RMVA_Style_Battle_Animation::WAIT_DURATION)
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 4 : 对像方动画)
#--------------------------------------------------------------------------
def update_phase4_step4
# 对像方动画
for target in @target_battlers
# 播放动画
target.animation_id = @animation2_id
target.animation_hit = (target.damage != "Miss")
# 隐藏帮助窗口
ntec_hide_help if Ntec::RMVA_Style_Battle_Animation::HIDE_HELP_WINDOW == 1
# 等待前弹出文字
ntec_pop_damage(target) if Ntec::RMVA_Style_Battle_Animation::POP_TEXT_STYLE == 1
# 等待一小段时间
abs_wait_short unless $data_animations[target.animation_id].position == 3
# 等待后弹出文字
ntec_pop_damage(target) if Ntec::RMVA_Style_Battle_Animation::POP_TEXT_STYLE == 2
end
# 限制动画长度、最低 8 帧
@wait_count = 8
# 根据伤害文字弹出方式判断下一步骤
if Ntec::RMVA_Style_Battle_Animation::POP_TEXT_STYLE == 0
# 移至步骤 5(播放完成后一次性弹出帮助文字)
@phase4_step = 5
else
# 移至步骤 6
@phase4_step = 6
end
end
#--------------------------------------------------------------------------
# ● 弹出伤害文字
#--------------------------------------------------------------------------
def ntec_pop_damage(target)
# 弹出伤害文字
if target.damage != nil
target.damage_pop = true
end
# 隐藏帮助窗口
ntec_hide_help if Ntec::RMVA_Style_Battle_Animation::HIDE_HELP_WINDOW == 2
end
#--------------------------------------------------------------------------
# ● 隐藏帮助窗口
#--------------------------------------------------------------------------
def ntec_hide_help
# 隐藏帮助窗口
@help_window.visible = false
end
end
复制代码
效果:
capture-1.gif
(439.92 KB, 下载次数: 30)
下载附件
保存到相册
2012-1-6 02:19 上传
(录像软件是Camtasia Studio 7,非常赞,推荐)
(色彩不是录像的错……GIF最大256色你懂的……)
作者:
andyho777
时间:
2012-1-5 22:48
請問能否實現於RTAB戰鬥系統中?
抱歉我真是貪得無厭... :'(
作者:
985574836
时间:
2013-10-15 20:40
- = -为什么放到我的游戏却没用呢
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1