SRC質問掲示板Mk2
(現在 過去ログ103 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■18600 / inTopicNo.1)  プロローグのスキップに関して
  
□投稿者/ alc -(2006/06/12(Mon) 00:35:27) [ID:hIpJVRCa]
    alcと申します。
    つい最近、こちらの掲示板でお世話になりました。
    どうもありがとうございます。

    ところで、今回またお尋ねに上がったのは、現在作成中のシナリオにて
    実装したいと思っているプロローグのスキップ機能についてです。

    単純にイベントラベルの「プロローグ:」を飛ばすだけが目的なら
    SwitchコマンドとGoToコマンドを併用すればよさそうだ、と見当がつくのですが、
    現在自作しているシナリオでは、スタートラベル内でもしばらくプロローグが
    続いており(ユニット配置・AttackDemoなどを行っている所為です)、
    「プロローグ:」のラベルを飛ばしただけでは大して短縮できない状態です。

    たとえばイベントラベルの中にさらにフラグというかしおり的なものを
    変数などで設定し、イベントをそこまで飛ばす、といったことは可能でしょうか。
    それとも自作のラベルをスタートラベル前に作り(「戦闘前デモ:」のような?)、
    それを飛ばす処理を追加してやればよいのでしょうか。
引用返信/返信 削除キー/
■18601 / inTopicNo.2)  Re[1]: プロローグのスキップに関して
□投稿者/ 明けの明星 -(2006/06/12(Mon) 01:20:14) [ID:YriaZn3A]
    可能です。
    が、もし『完全にイベントをスキップする』『イベントを全て見る』の二択だけならば、Ifコマンドを使用すれば良いかと。

    流れとしては、

    1.プロローグでイベントスキップの選択。また、結果をSetコマンドで変数に保持(Localを使用しない様に)
    2.スキップの場合、スキップ中に行われるユニット作成や変数制御を行っておく(Createなら非同期を使用)
    3.プロローグイベントの終了(此処はSRCが自動的に行いますが)
    4.スタートイベントでスキップするかどうかを変数でチェック(If)
    5.2と同様
    6.スキップの場合とスキップでない場合を合流(EndIf)

    これが選択肢が多数ある場合(『シーン3までスキップ』『シーン5までスキップ』等)は、SwitchとGoToの使用となります。
    こちらが必要な場合、その旨を返信にてお伝え下さい。
引用返信/返信 削除キー/
■18604 / inTopicNo.3)  Re[2]: プロローグのスキップに関して
□投稿者/ alc -(2006/06/13(Tue) 02:21:37) [ID:hIpJVRCa]
    >>明けの明星さま

    考えてみれば確かにIf文でもスキップ動作をさせることができますね。
    まったく思いつきもしませんでした。どうもありがとうございます。

    イベントを全て見る/全て飛ばすの二択のみを想定しているので
    スキップ自体については教えていただいたIf文で制御できそうなのですが、
    一つわからないことが新たに出てきましたのでよろしければ教えてください。

    GameOverコマンドを実行したかどうかを再開後に判断できる関数や処理はありますか?
    今回スキップ機能を使いたいと思ったのは、ゲームオーバーになった際
    また同じイベントを長々繰り返すのは不親切だろうと思ったからなのですが、
    ゲームオーバーの処理と上記スキップをどう組み合わせればよいのかがよくわかりません。
    現時点で試した方法としては
    ・GameOver.eve中にGlobalもしくはSetで変数を設定してQuickLoad
     →もともとのeveファイルの中にIF文を置いて
     上述の変数がある場合のみスキップ処理をするかどうかConfirm
    ・GameOver.eveへ飛ぶ直前(敗北条件のイベントラベル内)で変数を設定し、
     あとは上記と同じようにIF文を設定してConfirm
    の二通りですが、どちらでもスキップするかどうかのConfirmが作動しませんでした。

    ちなみにゲームオーバー後再開した場合のスキップのみを想定しているため、
    プロローグラベルのスキップについて現時点では考えなくてよさそうです。
    せっかく教わったので機会があればぜひ生かしたいと思っています。
引用返信/返信 削除キー/
■18605 / inTopicNo.4)  Re[3]: プロローグのスキップに関して
□投稿者/ alc -(2006/06/13(Tue) 03:06:26) [ID:hIpJVRCa]
    すみません、書き込んでから今更のように気が付いたのですが
    再開ラベル内で変数を設定しておけば上記の動作は可能ですね。
    ゲームオーバー時のみイベントをスキップするやり方として、
    ほかに適当な方法というのはありますでしょうか?

    また、スキップしたいイベント内にCreateが含まれている場合は
    スキップしない場合のCreateコマンド(非同期指定なし)と
    スキップする場合のCreate(非同期指定)、内容の同じCreateコマンドを
    If文の条件に従い2回記述することになる、という認識で間違っていませんか?
引用返信/返信 削除キー/
■18609 / inTopicNo.5)  Re[4]: プロローグのスキップに関して
□投稿者/ ナオ -(2006/06/13(Tue) 21:59:56) [ID:jpfvbeC7]
    初めまして、ナオです

    GameOverコマンド直前にGlobal変数を作成しても
    データとしてセーブされていないので、スキップ確認が出なかったのではないかと思います
    そこで、ファイルの存在を確認してスキップする方法をやるのはどうでしょうか?

    ##やり方

    1・GameOverコマンドの直前にファイル作成

    全滅 味方:

    Open "Lib\イベントスキップ.dat" For 出力 As F
    Close F

    GameOver
    Exit


    2・クイックロード後にイベント発生(例として敵増援)

    破壊 敵:
     If 敵数 < 6 Then
       
    If (Dir("Lib\" & "イベントスキップ.dat", ファイル) = "イベントスキップ.dat") Then

    Ask イベントスキップを行いますか?
    はい
    いいえ
    End

    Switch 選択

    Case 1
    Call イベント開始
    Case 2
     Call イベント終了後
    EndSw

    EndIf
    EndIf

    Exit

    ############

    イベント開始:

    Create 敵 〜〜
    (以後適当なCerate)

    ##適当なイベントなど
    Talk 〜〜
    〜〜〜
    End

    〜〜

    Return

    ##################

    イベント終了後:


    #ここにはイベント終了時の各ユニットの位置やステータスを考慮してコマンド
    #イベント戦闘でHPが減っている場合などは関数で調節を

    Create 〜〜 〜〜
    (以後適当なCreate)

    Return



    ###########

    えっと、分かりましたでしょうか?まぁ、要するに

    ファイル作成⇒ファイル判定⇒スキップ判定⇒イベントを記述

    というような感じの流れで良いと思います

    ファイル名はご自分の使いやすいように、代えたほうが良いと思います
    そのときは、ファイル判定の時に気をつけてください

    この方法の問題はイベント1つにつきファイル1つ必要だということです
    ファイル名を変えながらイベントに対応させていってください
    Print で書き込みをしていないので、容量は0バイトです。ご安心を。

    また、マップクリア時に

    RemoveFile Lib\作成したファイル名.dat

    をいれて、作成したファイルを削除してください。
    そうしないと、今後同じような事をするときに『一度もプレイしてないのにスキップ確認がでたーーー』
    なんてことになりかねません

    ##############

    自分もこの方法を使い始めて間もないので、どこかに落とし穴があるかもしれませんが
    そのときは自分も一緒に解決法を考えますんで許してくださいw
    使用したコマンドについては、HELPをご参照お願いします

    それでは、思い通りの動作ができることを願っております・・・
引用返信/返信 削除キー/
■18627 / inTopicNo.6)  Re[5]: プロローグのスキップに関して
□投稿者/ alc -(2006/06/17(Sat) 23:57:47) [ID:hIpJVRCa]
    >>ナオさま

    お返事が大分遅くなってしまって申し訳ありません。
    今回は「再開ラベル内で変数作成&IF文による制御」を使ったところ
    意図していたスキップ機能(ゲームオーバー後にのみ動作)
    を再現することが出来たので、そちらを採用しました。

    ファイルを作成しているかどうかをイベントの判別に使うことなど
    まったく思いつきもしなかったので非常に参考になりました。
    今回教えていただいた方法も今後実践してみようと思います。
    どうもありがとうございます。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -