一枚絵のままエンディング画面にする方法(質問掲示板

投稿:          mini mifa 投稿:2014/02/17 12:43:17(最新:2014/02/18 21:24:18)
こんにちは、mifaと申します。
どうぞよろしくお願いいたします。

2DRPG、2DアクションRPGについて、質問です。
エンディングへのシーンの運び方です。

一枚絵を最後に表示して(自作エンド画像の一枚絵で、セリフのみ表示とか)、
そのままエンディング画面に、持っていきたいのですが、
その前に、フィールド画面が、ちらっと映ります。

そこで考えて、
主人公を黒いマップにまずワープさせ、
主人公を、黒いキャラクタにキャラ変更すして、
ちらっと映る画面を、すべて真っ黒にする、
という方法で、お茶を濁しています。

○スクリプト○
warp(黒いマップID, 座標 , 座標 )
setEventCharacter("playerCharacterEvent", 黒いキャラID)
showImage(一枚絵ID)
speak("セリフ")
goEnding()


これでも何とか、できるんですが、他にもっと単純で、
良い方法はあるでしょうか?

コメントする

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

コメント一覧

Material 110912 1 mini アイネ・レグルス(投稿日:2014/02/17 17:40, 履歴)
はじめまして。アイネと申します。
さて、本題ですが、単純なのかは分かりませんが私が多くの自作ゲームで使用している方法があります。(元々は別の方から教えて頂いたものですが)

透過前景のシステムを使う事によって似たことは可能です
まず黒い画像を用意します。absさんのこの素材をクリップしてエンディングのマップに追加してください
http://rmake.jp/published_items/6602

そしたらエンディングの最後に以下のスクリプトを入れます
fadeOutMusicStop(1000)
#↑クリア画面とエンディング曲が同じ場合は必要なし

#画面に黒画像を入れます
setCanvasVisible(true)
s = createSprite(9404)
setSpriteRect(s, 0, 0, 512, 384, 0, 0, 512, 384)
drawCanvas()
#↓黒画面が表示されてからクリア画面までに行く時間です
waitTime(500)
goEnding()


これで似た演出が出来るはずです
ただし、黒画面になる時がちょっと不自然に見えるかもです汗

バグが起こったら教えて下さい。コチラで確認修正します。

ゲーム制作、影ながら応援しておりますm(__)m
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2014/02/17 18:15, 履歴)
おぉ、こんな方法があったのか・・・。
参考にしよう。

ちょっと手を加えると。

showImage(一枚絵ID) 
speak("セリフ")
fadeOut(0, 0, 0)
setFadeInterval(30)
setCanvasVisible(true)
s = createSprite(9404)
setSpriteRect(s, 0, 0, 512, 384, 0, 0, 512, 384)
drawCanvas()
fadeIn()
#↓黒画面が表示されてからクリア画面までに行く時間です
waitTime(500)
goEnding()


これで不自然じゃなくなるかな?
         mini mifa(投稿日:2014/02/18 21:24, 履歴)
アイネ・レグルスさん、池ちゃんさん、
さっそくのご投稿ありがとうございます。

やはり、一筋縄ではいかない技術だったんですね。
まる写しで、セリフなど入れ込んでみましたが、綺麗に動作しました。
おかげで、気になっていた部分を、
より簡単に、マップを消費しない形で、修正できそうです。
ありがとうございました。

余談ですが、時間待ちは1秒単位でなく、
0.5秒等も設定できると、初めて知りました。
これで、もっとイベント等に、こだわれそうです。

池ちゃんさんの、はじめにご紹介の方法ですと、
分岐エンドがやりやすそうですね。
こういう荒業もありとは奥が深いです、勉強になりました。

また、気になる点を投稿するかもしれませんが、
ご存知のことがあるときに、ご助言を頂けると嬉しいです。
ありがとうございました。
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2014/02/17 17:57, 履歴)
うむ、これが一番いい手かもしれません...。

とりあえず参考にこの掲示板を貼っておきますね。
         mini mifa(投稿日:2014/02/17 13:05, 履歴)
すいません、mifaです。
補足いたします。

以下のスクリプトだと、一瞬ちらっとフィールドが映るという悩みです。

showImage(一枚絵ID)
speak("セリフ")
goEnding()

これを解決したく思っております。