【解決済み】神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

返信する
そみや
記事: 60
登録日時: 2021年1月25日(月) 01:34

【解決済み】神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by そみや »

神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

入力フォームに初期文字列として「あああ」と表示させたいのですが、空白になってしまいます。

プラグインコマンドにて
InputForm x=100;y=100;v=1;max=3;init_v=2;

「init_v=2;」のコードが変数2の値を初期文字列として表示するとのことですが、
変数2に文字列「あああ」と格納してあっても、空白として表示されます。
文字列の問題かと思い、試しに変数2に「111」と数字を格納してみても表示されませんでした。
念のため「文章の表示」にて、変数2に「あああ」が文字列として格納されていることを確認してあります。

上記には表記していませんが「init_n=5;」はアクターID5の名前を初期文字列として表示させるコードです。
こちらは上手く表示されているので、変数による初期文字列のみが上手くいきません。
何が原因なのでしょうか?ご教授お願い致します。
[追加機能4 : 入力フォームの初期文字列の変更]
デフォルトでは、n=5;などが指定された場合、そのアクターの名前が、
v=11;などが指定され、その変数に文字列が格納されている場合その値が、
それ以外の場合は空文字が初期文字列になります。
以下のオプションで、代入対象に関係なく初期文字列を設定可能です。
init=ひろし; とすると、初期文字列は「ひろし」になります。
init=; のように、空文字の設定も可能です。
init_n=3; とすると、3番のアクターの名前が初期文字列になります。
init_v=10; とすると、変数10番の値が初期文字列になります。
神無月サスケ様の「111_InputForm.js(ゲーム画面上にHTMLの入力フォームを表示)」
https://plugin.fungamemake.com/archives/2601
最後に編集したユーザー そみや [ 2021年7月18日(日) 16:03 ], 累計 1 回
アバター
冷やっこ
記事: 132
登録日時: 2020年3月04日(水) 22:47

Re: 神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by 冷やっこ »

そみや さんが書きました:神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

入力フォームに初期文字列として「あああ」と表示させたいのですが、空白になってしまいます。

プラグインコマンドにて
InputForm x=100;y=100;v=1;max=3;init_v=2;

「init_v=2;」のコードが変数2の値を初期文字列として表示するとのことですが、
変数2に文字列「あああ」と格納してあっても、空白として表示されます。
文字列の問題かと思い、試しに変数2に「111」と数字を格納してみても表示されませんでした。
念のため「文章の表示」にて、変数2に「あああ」が文字列として格納されていることを確認してあります。

上記には表記していませんが「init_n=5;」はアクターID5の名前を初期文字列として表示させるコードです。
こちらは上手く表示されているので、変数による初期文字列のみが上手くいきません。
何が原因なのでしょうか?ご教授お願い致します。
[追加機能4 : 入力フォームの初期文字列の変更]
デフォルトでは、n=5;などが指定された場合、そのアクターの名前が、
v=11;などが指定され、その変数に文字列が格納されている場合その値が、
それ以外の場合は空文字が初期文字列になります。
以下のオプションで、代入対象に関係なく初期文字列を設定可能です。
init=ひろし; とすると、初期文字列は「ひろし」になります。
init=; のように、空文字の設定も可能です。
init_n=3; とすると、3番のアクターの名前が初期文字列になります。
init_v=10; とすると、変数10番の値が初期文字列になります。
神無月サスケ様の「111_InputForm.js(ゲーム画面上にHTMLの入力フォームを表示)」
https://plugin.fungamemake.com/archives/2601

こんにちは!

以前、こちらのプラグインをお借りした時にムノクラさんから教えて頂いた方法を参考にして
変数での初期文字列を使用する事ができました。
「init_v=○」への直接的な回答ではないかもしれませんが回避策?としてもしご参考になれば。
viewtopic.php?f=23&t=9020&p=33699#p33699
https://fungamemake.com/archives/7968


InputForm x=100;y=100;v=1;max=3;init_v=2; でしたら

コード: 全て選択

◆変数の操作:#0002 = "あああ"
◆スクリプト:$gameVariables.setValue(2, 'x=100;y=100;v=1;max=3;' + 'init=' + $gameVariables.value(2));
:     :var args = new Array(
:     :$gameVariables.value(2)
:     :);
:     :this.pluginCommand("InputForm", args);
上記スクリプトを使用すれば変数2の文字列が初期文字列として反映されます。
変数2以外を使用する場合は数値2の箇所を全て変更して下さい。
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by WTR »

プラグイン本体を弄るのであれば
447行目

コード: 全て選択

    } else if (varId && ($gameVariables.value(varId) instanceof String)) {

コード: 全て選択

    } else if (varId && typeof($gameVariables.value(varId)) === "string") {
とかにしたら効くと思います。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: 神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by WTR »

あるいは初期文字列を代入しておく変数の操作で

コード: 全て選択

◆変数の操作:#0002 = "デフォルト文字列"
ではなく

コード: 全て選択

◆変数の操作:#0002 = new String("デフォルト文字列")
とすることで、プラグイン本体はそのままで出来ますね。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
そみや
記事: 60
登録日時: 2021年1月25日(月) 01:34

Re: 神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by そみや »

冷やっこ様

ありがとうございます。

なるほど、コモンイベントをスクリプトで実行することで回避するのですね。
「init_v=」を使いのではなく「init=」のコードの方を使いことで、
事前に「init=文字列;」としてコードを用意してからコモンイベントを実行するのですね。

ありがとうございます。勉強になりました。
そみや
記事: 60
登録日時: 2021年1月25日(月) 01:34

Re: 神無月サスケ様の「ゲーム画面上にHTMLの入力フォームを表示プラグイン」の初期文字列が表示されない。

投稿記事 by そみや »

WTR さんが書きました:プラグイン本体を弄るのであれば
447行目

コード: 全て選択

    } else if (varId && ($gameVariables.value(varId) instanceof String)) {

コード: 全て選択

    } else if (varId && typeof($gameVariables.value(varId)) === "string") {
とかにしたら効くと思います。
WTR様

プラグインを上記に変更させて頂きました。
変数の文字列が初期文字列として表示されるようになりました。
ありがとうございます。
返信する

“MV:質問”に戻る