【解決】MZにおける「変数内に特定の文字列が格納されているかの条件分岐」について

gamiko
記事: 3
登録日時: 2021年7月09日(金) 20:11

【解決】MZにおける「変数内に特定の文字列が格納されているかの条件分岐」について

投稿記事by gamiko » 2021年7月09日(金) 20:31

当方、プログラミング及びツクール初心者です
質問失礼いたします

viewtopic.php?t=7132

こちらの記事において既に解決されている件なのですが、
ツクールMVでは動作するのですがツクールMZで
こちらのコードを条件分岐のスクリプトに入れ、テストすると

TypeError
$gameVariables.value(...).indexOf is not a function

こちらのエラーを吐いてしまいます

MVからMZで何か別の方法に切り替わってしまったのでしょうか
それとも私のコードの扱いミスなのでしょうか……

MZにおける解決方法、もしくは別の手段をご存じの方がいらっしゃいましたら
お教えいただけると助かります


(やりたいことは、
 png名を変数に登録→変数を使ってピクチャとして画像を呼び出し
 →表示されているピクチャの名前を後から引用できるようにしておく ←ここまではできています

 →先ほど変数に登録しておいたpng名に、
 特定の文字列が含まれている場合にピクチャの色調変更をさせたい     ←ここでつまづいています)
最後に編集したユーザー gamiko on 2021年7月09日(金) 22:14 [ 編集 1 回目 ]

アバター
WTR
記事: 559
登録日時: 2015年12月22日(火) 19:14

Re: MZにおける「変数内に特定の文字列が格納されているかの条件分岐」について

投稿記事by WTR » 2021年7月09日(金) 21:55

変数に入っている値を確認してみてください。
文字列ではない何かになっていると思います。数値が入っていると indexOf は使えません。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
gamiko
記事: 3
登録日時: 2021年7月09日(金) 20:11

Re: MZにおける「変数内に特定の文字列が格納されているかの条件分岐」について

投稿記事by gamiko » 2021年7月09日(金) 22:13

WTR さんが書きました:変数に入っている値を確認してみてください。
文字列ではない何かになっていると思います。数値が入っていると indexOf は使えません。


返信ありがとうございます!
簡略化したスクリプトで検証しなおしたところちゃんと動作しました……
完全に早とちりと確認ミスでした 失礼いたしました

別の部分でのミスによって中身がおかしくなっているみたいですね
確認します!ありがとうございました
gamiko
記事: 3
登録日時: 2021年7月09日(金) 20:11

Re: 【解決】MZにおける「変数内に特定の文字列が格納されているかの条件分岐」について

投稿記事by gamiko » 2021年7月09日(金) 22:57

(エラーの原因を備忘録として書かせていただきます)

WTR様が教えてくださったように、
indexOfは数値では使えないので

何も代入されていないとき、変数は0なので(数値)
エラーを吐く という感じだったようです

今回私がやらかしたのは
変数の枠組みを9枠用意した後に
1~9まで、変数の中身の有り無しに関係なくチェックしていたところ
中身が0の変数までチェックしていて、エラーを吐いていた ということでした

“MZ:質問” へ戻る