つちけむりプラグインについて

Piyo_595en
記事: 1
登録日時: 2021年10月10日(日) 15:48

つちけむりプラグインについて

投稿記事by Piyo_595en » 2022年8月14日(日) 01:57

いつも大変お世話になっております。

つちけむり - TMCloudDust.jsについて質問させて頂きます。
https://fungamemake.com/archives/11861

こちらのプラグイン画面効果も良く、ぜひ使いたいのですが
ニューゲームでは問題ないのですが、セーブしたデータをロードすると
this._cloudDust.scale is not a functionと表示され、エラーが出るようです。
初期状態のMZでも同様の現象が出たので、プラグインの競合ではないと思うのですが…。

お詳しい方がいらっしゃいましたら、お知恵をお貸しいただけましたら幸いです。

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: つちけむりプラグインについて

投稿記事by ムノクラ » 2023年5月21日(日) 09:01

Piyo_595en さんが書きました:いつも大変お世話になっております。

つちけむり - TMCloudDust.jsについて質問させて頂きます。
https://fungamemake.com/archives/11861

こちらのプラグイン画面効果も良く、ぜひ使いたいのですが
ニューゲームでは問題ないのですが、セーブしたデータをロードすると
this._cloudDust.scale is not a functionと表示され、エラーが出るようです。
初期状態のMZでも同様の現象が出たので、プラグインの競合ではないと思うのですが…。

お詳しい方がいらっしゃいましたら、お知恵をお貸しいただけましたら幸いです。


改変者です。
こちらの検証をコアバージョンv1.0.0/v1.6.0とで行いましたが再現できませんでした。

エラーが再現できるプロジェクトを頂ければ調べられると思います。
よろしくご検討ください。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
アバター
剣崎 宗二
記事: 678
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: つちけむりプラグインについて

投稿記事by 剣崎 宗二 » 2023年5月21日(日) 12:43

横からですが、可能性だけ提示しておきます。

「プラグイン導入前にセーブした」データをロードしてませんか?
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
アバター
Plasma Dark
記事: 668
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: つちけむりプラグインについて

投稿記事by Plasma Dark » 2023年5月21日(日) 15:14

Game_CloudDust クラスがグローバルに公開されていないため、このプラグインを導入後にセーブして、そのセーブデータをロードするとPiyoさんの仰る通りのエラーが表示されます。

とりあえず最小の修正PRを出しました。

そもそもの話として、一瞬表示されては消える類のものなので、あんまりセーブデータに含める必要はなさそうです。
Game_Mapではなく、Game_Tempに載せ替えてしまうのも手だと思いますが、ひとまず今回のエラーだけ修正する内容としています。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: つちけむりプラグインについて

投稿記事by ムノクラ » 2023年5月21日(日) 17:17

剣崎 宗二 さんが書きました:横からですが、可能性だけ提示しておきます。

「プラグイン導入前にセーブした」データをロードしてませんか?


ご指摘の通り、そのテストしかしていませんでした。


Plasma Dark さんが書きました:Game_CloudDust クラスがグローバルに公開されていないため、このプラグインを導入後にセーブして、そのセーブデータをロードするとPiyoさんの仰る通りのエラーが表示されます。

とりあえず最小の修正PRを出しました。

そもそもの話として、一瞬表示されては消える類のものなので、あんまりセーブデータに含める必要はなさそうです。
Game_Mapではなく、Game_Tempに載せ替えてしまうのも手だと思いますが、ひとまず今回のエラーだけ修正する内容としています。


ご指摘の通り「プラグインを導入後にセーブして、そのセーブデータをロードする」と下記のエラーが出ました。

コード: 全て選択

TypeError: this._cloudDust.scale is not a function
    at Sprite_CloudDust.initialize (MNKR_TMCloudDustMZ.js:514)
    at new Sprite_CloudDust (MNKR_TMCloudDustMZ.js:505)
    at Spriteset_Map.<anonymous> (MNKR_TMCloudDustMZ.js:552)
    at Array.forEach (<anonymous>)
    at Spriteset_Map.createCloudDust (MNKR_TMCloudDustMZ.js:551)
    at Spriteset_Map.createLowerLayer (MNKR_TMCloudDustMZ.js:546)
    at Spriteset_Map.Spriteset_Base.initialize (rmmz_sprites.js:3132)
    at Spriteset_Map.initialize (rmmz_sprites.js:3353)
    at new Spriteset_Map (rmmz_sprites.js:3346)
    at Scene_Map.createSpriteset (rmmz_scenes.js:908)


修正PRいただき、ありがとうございます。
動作確認できましたので、ありがたくマージさせていただきます。

ちょうど先週、MOG Battle HUD MV版のセーブデータのバグ?を修正(できた???)に触れていました。
https://github.com/munokura/MOG-MV-plug ... 57287abb14

MVでのGame_TempとGame_Systemの挙動をなんとなく分かった気でいましたが、Game_Mapについては全く考えていませんでした。
MZになって、マップイベントの位置がセーブデータに保存されていない旨の噂を耳にしていたのですが、こんな形で違いが出るとは想像していませんでした。

ググっても、globalThis でデータがグローバルオブジェクトになる?くらいしか分からなかったです。
PRをいただけなければGame_Tempに変更する作業でかなりの時間がかかっていたと思います。

グローバルオブジェクトをどのように挙動し、どういうケースで使うべきかは追って学んで行きたく思います。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。

“MZ:質問” へ戻る