消したキャラの復活(再表示)の仕方について(質問掲示板

投稿:          mini mifa 投稿:2014/06/25 14:13:25(最新:2014/07/04 14:31:04)
こんにちは、mifaと申します。
よろしくお願いいたします。

2DRPGで、消したキャラクターを、
復活(再表示)させる方法があれば、教えて頂きたいです。

以下の方法で、キャラを消すことに、成功しております。


▼参考wiki「スクリプト/コツ/変数を使ってキャラクターを消す」
http://page.rmake.jp/wikis/34



開始スクリプトに

 setVariable("a", 0)


消したいキャラクターの有効条件に

 getVariable("a") < 1

消すイベントに、

 setVariable("a", getVariable("a") + 1)

を、入力すれば、キャラが消えるので、
単純に、

 setVariable("a", getVariable("a") - 1)

を、しかければ、復活するのかと思いましたが、
うまくいきいませんでした。

一度、消したイベントは、復活しないのでしょうか。
どうぞ、よろしくお願いいたします。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Material 154390 2 mini  創 (投稿日:2014/06/28 20:22, 履歴)
もう既に解決しているようですが、
getFlag("a")
でも同じ事ができますよ。
         mini mifa(投稿日:2014/06/29 14:20, 履歴)
とらふぐさま、コメントありがとうございます。

getFlag("a")を、同じように書きこめば、
差し替えられるということでしょうか?

質問内容のスクリプトも、貼ったら動いたので、
そのまま使っている、というような理解度でして。

もし、より簡単な方法があるようでしたら、
教えて頂けましたら、幸いです。
Material 154390 2 mini  創 (投稿日:2014/06/29 20:02, 履歴)
有効条件に!getFlag("a") を書き込み、
消すイベントでsetFlag("a", true)と書くことでで消す事ができます。
         mini mifa(投稿日:2014/07/04 14:31, 履歴)
お返事が遅れて、申し訳ありません。

お返事ありがとうございました。
参考にさせて頂きます。
Material 204926 1 mini 井戸乃博士(投稿日:2014/06/25 23:42, 履歴)
横から失礼します。
スクリプトを見る限りは、正しいように見えます。
消したキャラは変数を条件どおりに変えれば復活するはずです。
思い当たる点としては、
キャラが消えるスクリプトをイベントの途中に書いていないでしょうか。
キャラが消えたり、グラフィックを変えたりするスクリプトは、
そのスクリプトを書いたイベントが終了しないと反映されないようになっています。
その場合は、キャラが消えるスクリプトを書いたところで一度そのイベントを終了して、フラグなどを使って次のイベントに引き継ぐようにすると、うまくいくかもしれません。
         mini mifa(投稿日:2014/06/26 14:14, 履歴)
idohakaさま、お返事ありがとうございます。

まさか、次の課題を見越した、ご回答を頂けるとは、思いませんでした。
はい、おっしゃる通りの壁に、ぶつかっておりました。

おかげさまで、イベント終了、フラグ等の設置により、
思い通りの演出を、作り出すことができました。
ありがとうございます。

余談ですが、
通行不可、プレイヤーを追いかけるキャラクターが、
複数いる場合に、再表示のスクリプトを使うと、
なぜか、一か所に、重なって表示されてしまいました。
(腕がアシュラのようになっていました)

次のイベントへの、時間が短すぎるためなのかなと、思っております。
それについては、別の方法で、対応しました。

貴重なアドバイス、ありがとうございました。
今後とも、どうぞよろしくお願いいたします。
Material 204926 1 mini 井戸乃博士(投稿日:2014/06/27 01:16, 履歴)
>プレイヤーを追いかけるキャラクターが、
>複数いる場合に、再表示のスクリプトを使うと、
>なぜか、一か所に、重なって表示されてしまいました。

これも心当たりが・・・(^^;)
詳しい仕様はわかりませんが、
どうもキャラクターは一度表示されると、
後で非表示にしている間も動いているらしく、
再表示すると変な場所に現れることがあるみたいです。
この現象は特に追いかける/逃げるタイプのキャラに多く見られます。
既に対応されているとのことですが、一応対処方法として、
再表示する際はイベントワープを使って場所を指定しておくのが、
一番よろしいかと思います。
         mini mifa(投稿日:2014/06/28 09:38, 履歴)
さらなるアドバイス、感謝いたします。
試しましたが、イベントワープよいですね。
その方法を取らせて頂きます。
ありがとうございました。
User mini ゲスゲス(投稿日:2014/06/25 17:00, 履歴)
こちらで確認したところ、普通にaの変数が1以上になっているときだけ消えますよ。
(aの変数が0以下になると復活するのも確認できています)

もしかしたら、aを1減らしたときに、aがまだ1以上になっていたのかも?
speak関数とかでaの変数の中身が見えるようにすると、どこがおかしいのかがわかるかもしれません。
         mini mifa(投稿日:2014/06/26 14:00, 履歴)
ゲスゲスさま、お返事ありがとうございます。

おかげさまで、解決いたしました。
どうやら、複数、消すイベントが、あったためのようです。

aの変数の、見える化が、うまくできず、
正確なところはわからないのですが、おそらく、以下の理由です。

仮に、消すイベントa、b、cがあったところ、
開始スクリプトに、setVariable("a", 0) しか、書いておりませんでした。

それで、なぜかb、cも消えていたので、気づいておらず、
b、cも、きちんと書いたところ、再表示されました。
初歩的なことで、申し訳ありません。

修正前のスクリプトだと、なぜか、
b、cが消えるごとに、aの値が、増えていたようです。

確認までして下さり、本当に、ありがとうございました。
今後とも、どうぞよろしくお願いいたします。