Project1
标题:
如何在战斗[公共事件]中调整怪物呼吸功能?
[打印本页]
作者:
Geass丨乐
时间:
2014-12-27 02:10
标题:
如何在战斗[公共事件]中调整怪物呼吸功能?
今天想做一个时间停止的特效技能
好不容易纠结完了色调的问题之后
发现这个停止呼吸的功能无法正常实现
以下是我用的怪物呼吸的脚本
我在公共事件中使用MINTO::RGSS["息遣い"] = false语句 发现运行到这里之后就一直卡在这个画面了 怪物依旧在呼吸 战斗却停在这里不能动了
到底怎么样才能做到停止呼吸呢? 还有后来时停结束之后的回复呼吸
#◆◇◆◇◆ 息遣いスクリプト ver 1・01 ◇◆◇◆◇
# 全マスタースクリプト共通スクリプト
# サポート掲示板 http://www2.ezbbs.net/21/minto-aaa/
# by みんと
=begin
導入場所の注意
エイリアスで構成されていますので、
出来るだけ下のほうに導入してください。
■ 更新履歴
○ ver 1.01(2009/03/10)
一部の挙動と仕様を変更
説明
フロントビューのバトラーは静止画のため、
ただ立ってるだけという感じが否めず、
これまでは虚しいものでした。
そこに、息遣いを擬似表現します。
ゆっくりと微妙にバトラーが縦方向に小さくなって
またゆっくり元に戻ることで息遣いを再現しました。
=end
#==============================================================================
# ☆ MINTO
#------------------------------------------------------------------------------
# 様々なフラグを扱うメインモジュールです。
#==============================================================================
module MINTO
# 息遣いクリプトを有効化 ( true で有効 / false で無効 )
RGSS["息遣い"] = true
# アクターの息遣いフラグ(ON : true / OFF : false)
Actor_Standby = false
end
if MINTO::RGSS["息遣い"] == true then
#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
# バトラー表示用のスプライトです。Game_Battler クラスのインスタンスを監視し、
# スプライトの状態を自動的に変化させます。
#==============================================================================
class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# viewport : ビューポート
# battler : バトラー (Game_Battler)
# alias : initialize_MINTO_Standby
#--------------------------------------------------------------------------
alias :initialize_MINTO_Standby :initialize
def initialize(viewport, battler = nil)
# 元の処理を実行
initialize_MINTO_Standby(viewport, battler)
# 息遣い用のデータを設定
@zoom_turn = 0.1875 / 2
@zoom_count = 0
@zoom_puls = 100
end
#--------------------------------------------------------------------------
# ● フレーム更新(息遣い)
#--------------------------------------------------------------------------
def update_standby
# バトラーが無効な場合
if [url=home.php?mod=space&uid=133701]@battler[/url] == nil then
# メソッドを返す
return
end
# バトラーがアクターで、且つ息遣いが不可能な場合
if @battler.is_a?(Game_Actor) and MINTO::Actor_Standby == false then
# メソッドを返す
return
end
# アニメ表示中の場合
if @_animation_duration >= 1 then
# メソッドを返す
return
end
# コラプス実行中の場合
if @_collapse_duration >= 1 then
# メソッドを返す
return
end
# 初期更新の場合
unless @setup_standby
# ランダムに繰り返す
rand(16).times do
update_standby_zoom
end
# セットアップ済みフラグをオン
@setup_standby = true
end
# 息遣いズームを更新
update_standby_zoom
end
#--------------------------------------------------------------------------
# ● フレーム更新(息遣いズーム)
#--------------------------------------------------------------------------
def update_standby_zoom
# 息遣いカウントを加算
@zoom_count += 1
# カウントが 16 になった場合
if @zoom_count == 16 then
# カウントを初期化
@zoom_count = 0
# 息遣いターンを反転
@zoom_turn *= -1
end
# 息遣い用の補正値を設定
@zoom_puls -= @zoom_turn
# 縦のズームを更新する
self.zoom_y = (1.0 * @zoom_puls) / 100
end
#--------------------------------------------------------------------------
# ● フレーム更新
# alias : update_MINTO_Standby
#--------------------------------------------------------------------------
alias :update_MINTO_Standby :update
def update
# 息遣いを更新
update_standby
# 元の処理を実行
update_MINTO_Standby
end
end
end
复制代码
作者:
Geass丨乐
时间:
2014-12-27 02:20
虽然还是没找到修改那个奇怪的变量的方法
但是添加了几句判断 根据角色状态来判定是否呼吸
解决了orz……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1