赞 | 274 |
VIP | 0 |
好人卡 | 0 |
积分 | 158 |
经验 | 515 |
最后登录 | 2024-11-8 |
在线时间 | 2106 小时 |
Lv4.逐梦者
- 梦石
- 1
- 星屑
- 14790
- 在线时间
- 2106 小时
- 注册时间
- 2017-9-28
- 帖子
- 662
|
- #==============================================================================
- # ■ 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
复制代码 |
评分
-
查看全部评分
|