【解決済み】Scene_GameEnd、タイトルへ戻る処理について
【解決済み】Scene_GameEnd、タイトルへ戻る処理について
イベントスクリプトでSceneManager.push(Scene_GameEnd);と書いているのですが【タイトルへ戻る】を選択した時にタイトルを飛ばして指定したマップへ飛ばすことはできますか?
Scene_GameEndやScene_Titleを見てもどこをいじれば良いのか分からず質問させて頂きました。
※補足です。
イベント中に並列処理(キー入力)SceneManager.push(Scene_GameEnd);を動かしています。
キー入力でイベントを強制終了させて、自作スタート画面へ移動したいのでこういう処理を行っています。
どうぞ宜しくお願いします。
Scene_GameEndやScene_Titleを見てもどこをいじれば良いのか分からず質問させて頂きました。
※補足です。
イベント中に並列処理(キー入力)SceneManager.push(Scene_GameEnd);を動かしています。
キー入力でイベントを強制終了させて、自作スタート画面へ移動したいのでこういう処理を行っています。
どうぞ宜しくお願いします。
最後に編集したユーザー zzz [ 2020年3月11日(水) 00:24 ], 累計 1 回
-
- 記事: 35
- 登録日時: 2020年2月17日(月) 20:21
Re: Scene_GameEnd、タイトルへ戻る処理について
下記だと、解決できない事がありましたら、教えて下さい。zzz さんが書きました:イベントスクリプトでSceneManager.push(Scene_GameEnd);と書いているのですが【タイトルへ戻る】を選択した時にタイトルを飛ばして指定したマップへ飛ばすことはできますか?
Scene_GameEndやScene_Titleを見てもどこをいじれば良いのか分からず質問させて頂きました。
※補足です。
イベント中に並列処理(キー入力)SceneManager.push(Scene_GameEnd);を動かしています。
キー入力でイベントを強制終了させて、自作スタート画面へ移動したいのでこういう処理を行っています。
どうぞ宜しくお願いします。
コード: 全て選択
◆画面の色調変更:(0,0,0,255), 1フレーム
◆選択肢の表示:タイトルへ, やめる (ウィンドウ, 中, #1, #2)
:タイトルへのとき
◆場所移動:フィールド1 (14,20)
◆
:やめるのとき
◆画面の色調変更:(0,0,0,0), 1フレーム
◆
:分岐終了
Re: Scene_GameEnd、タイトルへ戻る処理について
お答えいただきましてありがとうございます!
こちらではイベント中(メッセージ表示中)なので選択肢の表示ができませんでした。
引き続き回答の方をお待ちしております。
コード: 全て選択
◆画面の色調変更:(0,0,0,255), 1フレーム
◆選択肢の表示:タイトルへ, やめる (ウィンドウ, 中, #1, #2)
:タイトルへのとき
◆場所移動:フィールド1 (14,20)
◆
:やめるのとき
◆画面の色調変更:(0,0,0,0), 1フレーム
◆
:分岐終了
引き続き回答の方をお待ちしております。
-
- 記事: 35
- 登録日時: 2020年2月17日(月) 20:21
Re: Scene_GameEnd、タイトルへ戻る処理について
大変察しが悪く申し訳ないのですが、下記のような処理をされていると考えて良いのでしょうか?zzz さんが書きました:お答えいただきましてありがとうございます!
こちらではイベント中(メッセージ表示中)なので選択肢の表示ができませんでした。コード: 全て選択
◆画面の色調変更:(0,0,0,255), 1フレーム ◆選択肢の表示:タイトルへ, やめる (ウィンドウ, 中, #1, #2) :タイトルへのとき ◆場所移動:フィールド1 (14,20) ◆ :やめるのとき ◆画面の色調変更:(0,0,0,0), 1フレーム ◆ :分岐終了
引き続き回答の方をお待ちしております。
▼イベント1
出現条件:スイッチ1:ON
トリガー並行処理
コード: 全て選択
◆条件分岐:ボタン[決定]が押されている
◆スクリプト:SceneManager.push(Scene_GameEnd);
◆
:分岐終了
コード: 全て選択
◆スイッチの操作:#0001 並列処理 = ON
◆文章:なし, ウィンドウ, 下
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
◆文章:なし, ウィンドウ, 下
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
◆文章:なし, ウィンドウ, 下
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
◆文章:なし, ウィンドウ, 下
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
: :おしゃべり中。おしゃべり中。おしゃべり中。
◆スイッチの操作:#0001 並列処理 = OFF
こういう想定で合っていますか?
できましたら、並行処理のイベント内容や、どういうイベントでどのタイミングで出したいのか、具体的な例となるイベント処理を出していただけると理解が早まります。
Re: Scene_GameEnd、タイトルへ戻る処理について
お答えありがとうございます!
イベント1(メッセージを表示させている会話文)
イベント2(キー入力でSceneManager.push(Scene_GameEnd);を処理)
と言うふうに動かしています。
文章中に好きなタイミングでInput.isTriggered('ok')からSceneManager.push(Scene_GameEnd);を呼び出せるように並列処理にしています。
やりたい事はSceneManager.push(Scene_GameEnd);でタイトルへ戻るを選択した時に指定した別マップへ移動すると言うことです。
でもどうすれば良いの分からず困っています。
そもそもが可能なのかどうかも分からないので質問しました。
もしScene_GameEndやScene_Titleを改造する事で対処できるなら教えてもらえると助かります。
はい、そういう想定で合っています。▼イベント1
出現条件:スイッチ1:ON
トリガー並行処理▼イベント2(会話)コード: 全て選択
◆条件分岐:ボタン[決定]が押されている ◆スクリプト:SceneManager.push(Scene_GameEnd); ◆ :分岐終了
これですと、会話中の間に決定キーを押すとゲームを終了するかの選択肢が出ますが、スクリプトの代わりに「選択肢の表示」をしても表示されませんね。コード: 全て選択
◆スイッチの操作:#0001 並列処理 = ON ◆文章:なし, ウィンドウ, 下 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 ◆文章:なし, ウィンドウ, 下 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 ◆文章:なし, ウィンドウ, 下 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 ◆文章:なし, ウィンドウ, 下 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 : :おしゃべり中。おしゃべり中。おしゃべり中。 ◆スイッチの操作:#0001 並列処理 = OFF
こういう想定で合っていますか?
できましたら、並行処理のイベント内容や、どういうイベントでどのタイミングで出したいのか、具体的な例となるイベント処理を出していただけると理解が早まります。
イベント1(メッセージを表示させている会話文)
イベント2(キー入力でSceneManager.push(Scene_GameEnd);を処理)
と言うふうに動かしています。
文章中に好きなタイミングでInput.isTriggered('ok')からSceneManager.push(Scene_GameEnd);を呼び出せるように並列処理にしています。
やりたい事はSceneManager.push(Scene_GameEnd);でタイトルへ戻るを選択した時に指定した別マップへ移動すると言うことです。
でもどうすれば良いの分からず困っています。
そもそもが可能なのかどうかも分からないので質問しました。
もしScene_GameEndやScene_Titleを改造する事で対処できるなら教えてもらえると助かります。
Re: Scene_GameEnd、タイトルへ戻る処理について
こんにちは!
Scene_GameEndを改修する場合
「Scene_GameEnd.prototype.commandToTitle」を以下の例に沿って修正します。
プラグインとして使用する場合は、上記をJSファイルとして保存してプラグイン管理画面から取り込んでください。
Scene_GameEndを改修する場合
「Scene_GameEnd.prototype.commandToTitle」を以下の例に沿って修正します。
コード: 全て選択
(function() {
'use strict';
Scene_GameEnd.prototype.commandToTitle = function() {
this.fadeOutAll();
// 場所移動(mapId, X, Y, 向き[2:下 4:左 6:右 8:上])
$gamePlayer.reserveTransfer(8, 10, 10, 2);
// 移動先シーンをMapに変更
SceneManager.goto(Scene_Map);
};
})();
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Re: Scene_GameEnd、タイトルへ戻る処理について
こんばんは!教えて頂きましてありがとうございます!
思い描いていた処理ができました♪
こちらのイベントを消去する方法も教えていただきたいです。
すみませんがどうぞ宜しくお願いします。
思い描いていた処理ができました♪
なのですが、移動先でも自動実行で表示している会話文の処理が継続されてしまいました。トリアコンタン さんが書きました:こんにちは!
Scene_GameEndを改修する場合
「Scene_GameEnd.prototype.commandToTitle」を以下の例に沿って修正します。
プラグインとして使用する場合は、上記をJSファイルとして保存してプラグイン管理画面から取り込んでください。コード: 全て選択
(function() { 'use strict'; Scene_GameEnd.prototype.commandToTitle = function() { this.fadeOutAll(); // 場所移動(mapId, X, Y, 向き[2:下 4:左 6:右 8:上]) $gamePlayer.reserveTransfer(8, 10, 10, 2); // 移動先シーンをMapに変更 SceneManager.goto(Scene_Map); }; })();
こちらのイベントを消去する方法も教えていただきたいです。
すみませんがどうぞ宜しくお願いします。
- Plasma Dark
- 記事: 733
- 登録日時: 2020年2月08日(土) 02:29
- 連絡する:
Re: Scene_GameEnd、タイトルへ戻る処理について
Game_Map に killRunningEvent 的なメソッドを生やして、その中で実行中のインタプリタを初期化、そいつを呼べば実行中のイベントを中断できるんじゃないかと思います。
ところで、 Scene_GameEnd のタイトルに戻る処理を上書きすると、普通にメニューからタイトルに戻りたい時にもそっちの処理に引っ張られそうなものですが、それは大丈夫でしょうか。
ところで、 Scene_GameEnd のタイトルに戻る処理を上書きすると、普通にメニューからタイトルに戻りたい時にもそっちの処理に引っ張られそうなものですが、それは大丈夫でしょうか。
Re: Scene_GameEnd、タイトルへ戻る処理について
こんばんは!
はい、メニューからタイトルに戻るも同じ処理で問題ありません。
updateが関係あるのかもと思って色々調べているのですが分からなくて。°(´∩ω∩`)°。
はい、メニューからタイトルに戻るも同じ処理で問題ありません。
killRunningEvent やインタプリタというものが何か分からないのですみません。Plasma Dark さんが書きました:Game_Map に killRunningEvent 的なメソッドを生やして、その中で実行中のインタプリタを初期化、そいつを呼べば実行中のイベントを中断できるんじゃないかと思います。
ところで、 Scene_GameEnd のタイトルに戻る処理を上書きすると、普通にメニューからタイトルに戻りたい時にもそっちの処理に引っ張られそうなものですが、それは大丈夫でしょうか。
updateが関係あるのかもと思って色々調べているのですが分からなくて。°(´∩ω∩`)°。
Re: Scene_GameEnd、タイトルへ戻る処理について
『killRunningEvent』というのは新しく作ろうとしている『実行中のイベントを強制中断させるメソッド』の命名の一例かと思います。(作る側が命名するので別の名前でもOKです)
『インタプリタ』というのは、ツクール内部でイベント命令を実行する仕組みのことです。
コアスクリプトのrpg_objects.jsに『Game_Interpreter』という名前で定義されています。
具体的には『$gameMap』の『_interpreter』という変数が実行しています。これが『インタプリタ』です。
上記を踏まえて、イベント処理の強制終了を組み込んだ一例が以下になります。
『インタプリタ』というのは、ツクール内部でイベント命令を実行する仕組みのことです。
コアスクリプトのrpg_objects.jsに『Game_Interpreter』という名前で定義されています。
具体的には『$gameMap』の『_interpreter』という変数が実行しています。これが『インタプリタ』です。
上記を踏まえて、イベント処理の強制終了を組み込んだ一例が以下になります。
コード: 全て選択
(function() {
'use strict';
Scene_GameEnd.prototype.commandToTitle = function() {
this.fadeOutAll();
// 場所移動(mapId, X, Y, 向き[2:下 4:左 6:右 8:上])
$gamePlayer.reserveTransfer(8, 10, 10, 2);
// イベントを実行中であれば中断
$gameMap.killRunningEvent();
// 表示中のメッセージや選択肢をクリア
$gameMessage.clear();
// 移動先シーンをMapに変更
SceneManager.goto(Scene_Map);
};
// Game_Map に killRunningEvent 的なメソッドを生やす
Game_Map.prototype.killRunningEvent = function() {
// イベントが実行中であれば強制終了
if (this.isEventRunning()) {
this._interpreter.terminate();
}
};
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/