皆様いつもお世話になっております。
件名の通りなのですが
戦闘時にエネミーバトラー、(プラグインを使用していると)アクターバトラー
の、上に表示されるステートアイコンを一時的に非表示にする事は可能でしょうか?
【解決済】バトラー上に表示されるステートアイコンを一時的に非表示にしたいです。
-
- 記事: 94
- 登録日時: 2018年8月19日(日) 05:35
Re: バトラー上に表示されるステートアイコンを一時的に非表示にしたいです。
エネミースプライトを取得して、そのステートアイコンスプライトを非表示にすれば可能です
①エネミースプライトの取得
②ステートアイコンスプライトの非表示
※ラッパー関数を用意すればエネミースプライトの取得が楽です
※安全性を考えるとこちらの方が良いです(記述が長くなりますが)
※この関数をScene_Battleに所持させれば、if文のシーンチェックは要りません
Scene_Battle.prototype.getActorSprite = getActorSprite;
_actorSpritesなどが出来ているかどうかもチェックした方がより安全です
indexが範囲外だとundefinedが返ります
※オブジェクトがどんなプロパティやメソッドを持っているかは、F8キーを押してコンソールを表示すると分かります
戦闘中ならSceneManager._sceneにScene_Battleのインスタンスが入ります
コンソールにそれを書いてエンターを押すと所持するプロパティ一覧が表示されます
・上記の①②をコンソールに書いてエンターを押すとエネミーに表示されているステートアイコンが消えます(indexは数字に置換え)
・関数をプラグイン化してjs/plugins内に入れれば戦闘中の好きなタイミングで非表示/表示ができます(スプライトが出来ていれば)
①エネミースプライトの取得
コード: 全て選択
var enemy_sprite = SceneManager._scene._spriteset._enemySprites[index];
②ステートアイコンスプライトの非表示
コード: 全て選択
enemy_sprite._stateIconSprite.visible = false;
※ラッパー関数を用意すればエネミースプライトの取得が楽です
コード: 全て選択
// エネミーのスプライトの取得
var getEnemySprite = function(index) {
return SceneManager._scene._spriteset._enemySprites[index];
};
// パーティメンバーのスプライトの取得
var getActorSprite = function(index) {
return SceneManager._scene._spriteset._actorSprites[index];
};
※安全性を考えるとこちらの方が良いです(記述が長くなりますが)
コード: 全て選択
var getActorSprite = function(index) {
if ($gameParty.inBattle()) {
return SceneManager._scene._spriteset._actorSprites[index];
}
};
// もしくはこう
var getActorSprite = function(index) {
var scene = SceneManager._scene;
if (scene.constructor === Scene_Battle) {
return scene._spriteset._actorSprites[index];
}
};
※この関数をScene_Battleに所持させれば、if文のシーンチェックは要りません
Scene_Battle.prototype.getActorSprite = getActorSprite;
_actorSpritesなどが出来ているかどうかもチェックした方がより安全です
indexが範囲外だとundefinedが返ります
※オブジェクトがどんなプロパティやメソッドを持っているかは、F8キーを押してコンソールを表示すると分かります
戦闘中ならSceneManager._sceneにScene_Battleのインスタンスが入ります
コンソールにそれを書いてエンターを押すと所持するプロパティ一覧が表示されます
・上記の①②をコンソールに書いてエンターを押すとエネミーに表示されているステートアイコンが消えます(indexは数字に置換え)
・関数をプラグイン化してjs/plugins内に入れれば戦闘中の好きなタイミングで非表示/表示ができます(スプライトが出来ていれば)
-
- 記事: 94
- 登録日時: 2018年8月19日(日) 05:35
Re: バトラー上に表示されるステートアイコンを一時的に非表示にしたいです。
ジャングル様、御親切にありがとうございます。
教えていただいた方法で上手くいきました!
またご質問させていただくことがあると思いますが
ご縁がございましたら宜しくお願い致します
教えていただいた方法で上手くいきました!
またご質問させていただくことがあると思いますが
ご縁がございましたら宜しくお願い致します
Re: 【解決済】バトラー上に表示されるステートアイコンを一時的に非表示にしたいです。
良かったです
こちらこそ宜しくお願い致します
たまに質問します
こちらこそ宜しくお願い致します
たまに質問します