Project1
标题:
墙壁怎么设置音效
[打印本页]
作者:
15120066641
时间:
2020-4-28 14:13
标题:
墙壁怎么设置音效
当角色撞到墙壁或者不可通行的地方,能设置音效吗?
作者:
chanszeman1018
时间:
2020-4-28 14:30
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Nil2018
时间:
2020-4-28 14:30
#==============================================================================
# ■ RGSS3 移动失败时播放SE&踏步动画 Ver1.00 by 星潟
#------------------------------------------------------------------------------
# 可以在移动失败时(撞墙或撞事件)播放一个se,也可以设定移动失败时是否踏步
#==============================================================================
module MF_SS
#是否在移动失败时播放se
SE_OK = true
#移动失败时播放的se
#['SE文件名', 音量, 音调]
SE = ['Blow1', 60, 100]
#SE间隔时间
INTERVAL = 30
#是否在移动失败时,继续播放踏步动画
STEP_OK = true
#是否在事件移动失败时,播放se
EVENT_SE = false
#是否在事件移动失败时,继续播放踏步动画
EVENT_ST = false
#禁用移动失败se的开关,开关开启时不播放se
SWITCH_1 = 10
#禁用移动失败踏步动画的开关,开关开启时不继续播放踏步动画
SWITCH_2 = 11
end
class Game_Temp
attr_accessor :last_mf_time
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# まっすぐに移動
#--------------------------------------------------------------------------
alias move_straight_mfss move_straight
def move_straight(d, turn_ok = true)
#本来の処理を実行。
move_straight_mfss(d, turn_ok)
#移動に失敗した場合は移動失敗時の特殊処理を実行。
mf_s_execute if !@move_succeed
end
#--------------------------------------------------------------------------
# 斜めに移動
#--------------------------------------------------------------------------
alias move_diagonal_mfss move_diagonal
def move_diagonal(horz, vert)
#本来の処理を実行。
move_diagonal_mfss(horz, vert)
#移動に失敗した場合は移動失敗時の特殊処理を実行。
mf_s_execute if !@move_succeed
end
#--------------------------------------------------------------------------
# 移動失敗時に音を鳴らす
#--------------------------------------------------------------------------
def mf_s_execute
#イベント実行中か否かを取得。
ev_f = $game_map.interpreter.running?
#設定に応じてSE演奏を行うかどうかを判定。
unless !MF_SS::SE_OK or (!MF_SS::EVENT_SE && ev_f) or $game_switches[MF_SS::SWITCH_1]
#最後に移動に失敗した時刻が存在しない場合
#もしくは一定時間が経過している場合は処理を分岐。
if ($game_temp.last_mf_time == nil or ((Graphics.frame_count - $game_temp.last_mf_time) > MF_SS::INTERVAL))
#時間を更新する。
$game_temp.last_mf_time = Graphics.frame_count
#指定したSEを鳴らす。
RPG::SE.new(MF_SS::SE[0],MF_SS::SE[1],MF_SS::SE[2]).play
end
end
#設定に応じて歩行アニメ更新を行うかどうかを判定。
unless !@walk_anime or !MF_SS::STEP_OK or (!MF_SS::EVENT_ST && ev_f) or $game_switches[MF_SS::SWITCH_2]
#パターンがオリジナルパターンと異なる場合はカウントを0.5増やす。
#同一の場合は3増やす。
if @pattern != @original_pattern
@anime_count += 0.5
else
@anime_count += 3
end
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1