通った道を明るくする方法についての質問

とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

ツクール初心者です。
不思議のダンジョンシリーズの暗闇ステージのような、プレイヤーが通った後のタイル付近が明るくなり続けるギミックを作りたいです。
マップ全体をイベントマスで覆ってしまえばよいと思ったのですが、大量のイベントマスによって制作が困難になってしまったので、代替案を考えております。
どなたかツクールに精通している方、返信よろしくお願いします。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡する:

Re: 通った道を明るくする方法についての質問

投稿記事 by にゃたま »

とっぷりクイーン様

こんばんは。

ツクールに精通しているわけではないですがこんな回答でよければお答えします。
まず、不思議なダンジョンを知らなかったのでyoutubeで調べてみましたが
暗闇のステージというものがどのようなステージかわかりませんでした。

プレイヤーの通ったタイルが明るくなるという処理はイメージと合っているかわかりませんが
https://github.com/rev2nym/SAN_TileToner
上記SAN_TileTonerで可能です。タイルの色を変更するプラグインになります。

コード: 全て選択

◆変数の操作:#0061 現在の歩数 = 歩数
◆変数の操作:#0063 歩数の差 = 現在の歩数
◆変数の操作:#0063 歩数の差 -= 前の歩数
◆条件分岐:スクリプト:$gameVariables.value(63) == 1
  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x , this.character(-1).y, 255, 128, 128, 255)
  ◆変数の操作:#0062 前の歩数 = 現在の歩数
  ◆
:分岐終了
上記コードを並列処理のコモンイベントにいれて染色を有効にする場合はこのスイッチをONにします。

上の例では一歩進むごとにプレイヤーの下のタイルを染色しています。
255, 128, 128, 255という箇所は先頭から赤, 緑, 青, 不透明度を表します。
タイルを不透明にして赤の数値を増やして、赤のタイルにしています。好みの数値に変えてください。
this.character(-1).x , this.character(-1).yの箇所はプレイヤーの座標を設定しています。
$gameVariables.value(63) == 1の1を3にすれば3歩歩いたら染色されます。
条件分岐内のスクリプトを以下のように変更すれば染色する範囲を増やせます。

コード: 全て選択

  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x , this.character(-1).y, 255, 128, 128, 255)
  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x+1 , this.character(-1).y, 255, 128, 128, 255)
  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x-1 , this.character(-1).y, 255, 128, 128, 255)
  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x , this.character(-1).y+1, 255, 128, 128, 255)
  ◆スクリプト:$gameMap.setTileTone(this.character(-1).x , this.character(-1).y-1, 255, 128, 128, 255)
タイルの染色を全部消したいときはスクリプト$gameMap.clearTileTones()で消せます。
アバター
虚構の城跡
記事: 714
登録日時: 2016年9月23日(金) 16:58
連絡する:

Re: 通った道を明るくする方法についての質問

投稿記事 by 虚構の城跡 »

自分も検索してみてもよく分からなかったので、要は暗いマップで照明の様な物を作りたいという事だと考えて、
照明効果のあるプラグインの一つで、
https://qiita.com/sakura-crowd/items/20 ... 5bdf6f7157

実際、ツクールMV用に照明効果のあるプラグインはかなりあります。
Ci-enを始めてみました〜
https://ci-en.net/creator/27000
とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

Re: 通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

にゃたまさん、虚構の城跡さん、返信ありがとうございました。
SAN_TILETONERのプラグインの導入とにゃたまさんのスクリプトで自分の思い描いていたゲームが実現できそうです。
虚構の城跡さんの意見も大変参考になりました。
ありがとうございます。
とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

Re: 通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

とっぷりクイーン さんが書きました:にゃたまさん、虚構の城跡さん、返信ありがとうございました。
SAN_TILETONERのプラグインの導入とにゃたまさんのスクリプトで自分の思い描いていたゲームが実現できそうです。
虚構の城跡さんの意見も大変参考になりました。
ありがとうございます。
すみません追加で質問です。
一つのエリアだけではこの方法でいけましたが、マップの移動をするとタイルの染色状況が他のマップにも反映されたままになってしまいます。
タイルの染色をオールクリアしたら別のマップでの染色は消えましたが、元のマップでの染色状況もともに消えてしまいます。
通った軌跡をマップをまたいだ後も残すにはどうすればよいでしょうか。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡する:

Re: 通った道を明るくする方法についての質問

投稿記事 by にゃたま »

とっぷりクイーン様

お疲れ様です。

タイルの染色状況が他マップに反映したくないとのことですが、
特定のマップのみ染色したいのであれば場所移動時に染色したくないマップでは
染色の並列処理のスイッチをOFFにします。
同様に染色してほしいマップに場所移動するときにONにすれば特定のマップでのみ
染色が可能となります。

但し、先程提示したスクリプトのみですと「前の歩数」の変数が再度染色して欲しいマップに
入ったときに最新の歩数が反映されてませんのでこれを最新のものにしてやる必要があります。
染色して欲しいマップに場所移動する前に以下のコードを追加してください。

コード: 全て選択

◆変数の操作:#0062 前の歩数 = 歩数
場所移動してなくても染色をOFFにして歩いた後に再度ONにする場合は必ず行わないと
不整合が発生します。
とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

Re: 通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

質問が理解し辛くて申し訳ありませんでした。
二つのエリアで別々の染色状況にしたいという意味です。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡する:

Re: 通った道を明るくする方法についての質問

投稿記事 by にゃたま »

とっぷりクイーン様
とっぷりクイーン さんが書きました:二つのエリアで別々の染色状況にしたいという意味です。
2つのエリアというのは2つの離れたマップという意味ですか?
とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

Re: 通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

にゃたま さんが書きました:とっぷりクイーン様
とっぷりクイーン さんが書きました:二つのエリアで別々の染色状況にしたいという意味です。
2つのエリアというのは2つの離れたマップという意味ですか?
そうです!
とっぷりクイーン
記事: 8
登録日時: 2019年3月01日(金) 16:17

Re: 通った道を明るくする方法についての質問

投稿記事 by とっぷりクイーン »

にゃたま さんが書きました:とっぷりクイーン様
とっぷりクイーン さんが書きました:二つのエリアで別々の染色状況にしたいという意味です。
2つのエリアというのは2つの離れたマップという意味ですか?
そういうことです。
返信する

“MV:質問”に戻る