アクエディ4にて 簡易画面座標取得の方法

方法はいろいろありますが、ここではそれぞれのキャラに
キャラ変数を2、ターゲットを1使うことでhblの画面座標を取得する方法を説明します。
(実際に運用する際にはターゲットをもうひとつ消費することが多いと思われます。
 主人公などと敵キャラの座標を比較すれば色々できますから)

 

この方法のメリットは一度作ってしまえばコピーが容易なことです。あと多少軽い。
この方法のデメリットは取得させるキャラのフローが大量になることです(最低71?フロー必要です)
あと距離条件を使わざるを得ないのでキャラが巨大化していると実際に取得する数値が多少ずれます。
おまけにhblで取得するので結構判定がゆるくなってしまう(駄目駄目)
欠点は多いものの無いよりはマシなので以下の文章でで方法を説明しようと思います。


まず透明、飛行(ブロック貫通)無敵(ショットすり抜け)キャラを作成します。
このキャラは常時画面座標(0.0)にワープを設定したフローを組んでおきますです。
それとキャラIDを設定しましょう。(今回は99にしておきます)
このキャラへの設定はこれだけです。

 

次にキャラ座標を取得させるキャラのフローを組みます。
キャラID99をターゲット(今回は2に)に設定、このフローを削除。のフローを組む


ターゲット(2)の距離が横0hbl以内のときに
ウェイト2
キャラ変数a(今回は3)に0を代入  というフローを特定グループ(x)で組む


ターゲット(2)の距離が横1hbl以内のときに
ウェイト2
キャラ変数a(今回は3)に1を代入  というフローを特定グループ(x)で組む

 

この繰り返しで40まで作ります
40までなのはbclが16ドットごとの判定で、横画面が640 =16*40だからです
これでx座標の設定が出来ました
(尤も手順としては40から逆に組んだほうが初期コマンドの位置が初期化されないので早いです)
ちなみにウェイトをはさまないと1/10sごとに判断するので結構重くなります

 

これで重かった場合はウェイトのフレーム数を変更するなどしてみてください
(キャラ変数をスイッチとして使って制御後にウェイトを加算する方法もあります.
 が、やはりキャラ変数は貴重なので、これがベストかも)


・・・まあそれはさておき
同様にy座標も


ターゲット(2)の距離が縦0以内のときに
ウェイト2
キャラ変数b(今回は4)に0を代入  というフローを特定グループ(y)で組む
これを30まで繰り返します。
そうすれば完成です。
できれば念のためそれぞれのキャラ変数をステージ変数などに代入してメッセージ表示などをさせて
できているか確かめておきましょう。
他のキャラにコピーするするときは該当フローをシフトキーで範囲選択してコピペするだけです。

 

これを用いれば他のキャラと比較して条件をつけたりなど、いろいろなことが出来るようになります。
敵キャラと主人公とを比較して敵キャラの座標変数が主人公よりも座標変数が少ないとき、多いときでそれぞれ分岐させれば
(要ターゲット数+1)星のカー○ィのメタ○イトみたいな牽制を交えた移動をするように出来たり
単独でもファッティーホ○ールみたいに画面を往復する移動が出来たり
(これはちょっと検証する必要があるかも。画面外をどうするか考えてないので
しかしキャラが画面外で変数が0、40のときを使えばできるかも)
星のカー○ィ3のポロ○みたいにある程度の画面座標に行くと隠れたり
(正確に言うなら奴の隠れる場所は絶対座標で決められているけど)するかと思われます。

 

適当な記事なので加筆・修正はご自由にどうぞ。

最終更新:2016年06月28日 07:55