1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

【質問】ローグライクのような移動ができるプラグインについて

ワタベ2018-12-15に開始した「ゲーム制作」の中の討論

  1. ネコタ

    ネコタ ユーザー

    出来ました。これなら、マウス対応かつ接触時戦闘(マウスを使った移動中でも割り込んで戦闘開始)できます。

    ダッシュ時と通常時で歩く速度変えたいんですけど、そこだけ判定の仕方が分からないので、移動速度は常時ダッシュを前提にしています。あと、一部プラグインを使いました。セルフスイッチ管理が必要なので。

    <必要プラグイン>
    OuterSelfSwitch
    008.png
    プラグインコマンドにより、セルフスイッチのON-OFFを切り替えることができる準公式プラグインです。

    <コアイベント>
    007.png
    [トリガー]
    並列処理

    [実行内容]
    ◆変数の操作:#0022 = 歩数
    ◆スイッチの操作:#0021 = OFF
    ◆プラグインコマンド:OuterSelfSwitch off all A
    ◆条件分岐: #0021 < #0022
    ◆変数の操作:#0021 = #0022
    ◆スイッチの操作:#0021 = ON

    :分岐終了
    ◆ウェイト:2フレーム


    <敵イベント>
    ・1ページ目
    002.png
    [自律移動]
    タイプ:固定
    速度:5
    頻度:5

    [オプション]
    歩行アニメ
    足踏みアニメ

    [プライオリティ]
    キャラクターの上

    [トリガー]
    並列処理

    [実行内容]
    ◆注釈:当たり判定ページ
    ◆条件分岐:スクリプト:(this.character(-1).x == this.character(0).x) && (this.character(-1).y == this.character(0).y)
    ◆セルフスイッチの操作:A = ON

    :分岐終了
    ◆ウェイト:1フレーム


    ・2ページ目
    003.png
    [出現条件]
    スイッチ:#0021

    [自律移動]
    タイプ:ランダム
    速度:5
    頻度:5

    [オプション]
    歩行アニメ
    足踏みアニメ

    [プライオリティ]
    キャラクターの上

    [実行内容]
    ◆注釈:移動ページ


    ・3ページ目
    004.png
    [出現条件]
    セルフスイッチ:A

    [自律移動]
    タイプ:固定
    速度:5

    [オプション]
    歩行アニメ
    足踏みアニメ

    [プライオリティ]
    キャラクターの上

    [トリガー]
    自動実行

    [実行内容]
    ◆注釈:戦闘ページ
    ◆戦闘の処理:FVこうもり*2
    :勝ったとき
    ◆セルフスイッチの操作:B = ON

    :逃げたとき
    ◆移動ルートの設定:このイベント (ウェイト)
    :        :◇不透明度:100
    ◆セルフスイッチの操作:C = ON

    :負けたとき
    ◆ゲームオーバー

    :分岐終了


    (4ページ目:戦闘勝利時のページ)
    005.png
    [出現条件]
    セルフスイッチ:B

    [プライオリティ]
    キャラクターの上

    [トリガー]
    並列処理

    [実行内容]
    ◆注釈:戦闘勝利ページ
    ◆ウェイト:180フレーム
    ◆移動ルートの設定:このイベント (ウェイト)
    :        :◇不透明度:255
    ◆セルフスイッチの操作:B = OFF


    (5ページ目:逃走時のページ)
    006.png
    [出現条件]
    セルフスイッチ:C

    [自律移動]
    タイプ:固定
    速度:5
    頻度:5

    [オプション]
    なし

    [プライオリティ]
    キャラクターの上

    [トリガー]
    並列処理

    [実行内容]
    ◆注釈:逃走後ページ
    ◆ウェイト:180フレーム
    ◆移動ルートの設定:このイベント (ウェイト)
    :        :◇不透明度:255
    ◆セルフスイッチの操作:C = OFF

    移動ページはイベント処理だと不都合がありそうなので、自律移動にしました。自律移動を制御する高度探索経路プラグインがあれば、壁に突進する問題を解決できるかもしれません。
     
    最後に編集: 2018-12-21
    #21
    YouChaliceワタベ がいいね!しています
  2. ネコタ

    ネコタ ユーザー

    隊列歩行と頭身の大きい歩行グラフィックで試してみましたが、まあ、案の定な結果。
    前提にしてない条件なので、全く対応してません。下記条件ではもうちょっと工夫する必要がありますね。

    ・プライオリティがプレイヤーの上なので隊列の仲間に引っかかることはありませんが、エンカウントも発生しない(先頭キャラとの接触が条件)ですので、隊列キャラの上にかぶさる形で突進してくる不具合が生じます。見かけ上、好ましくなさそうです。

    ・頭身の大きいキャラでは、見かけ上は敵イベントと重なりますが、判定が1マス分なのでエンカウントが発生しません。1マスの敵イベントと頭身の高いプレイヤー歩行グラフィック、あるいは、巨大な敵系の歩行グラフィックを設定した敵イベントなどでゲームをデザインする場合には、見た目と接触判定で違和感が出てくると思います(これは、普通につくるシンボルエンカウントでも同じ問題と思われます)。
     
    #22
    ワタベ がいいね!しました
  3. 猫二郎

    猫二郎 ユーザー

    もしも、大きい頭身でやるのであれば、タイルサイズをデフォルトの48×48から大きくする。又は小さく変更できる公式プラグインであるChangeTileSize.jsを利用するのも手。
    ただ、一マス辺りのサイズが変化する分、タイル画像素材を拡大・縮小する必要が出てくる。
     
    #23
    ワタベネコタ がいいね!しています

このページを共有