RPG製作ツール「Wolf RPG エディター」を用いて行うゲーム開発の技術を紹介・解説しています。

はい、カーソルの表示についてです。
コモンイベント044の156行目から163行目と、210行目から342行目までの範囲がそれです。
なんだか多いなぁ、と思うかもしれませんが心配無用。
カーソルをどう動かすか、だけならばそれほど多くないのです。
今回のようにメニュー項目の位置を変えただけなら尚更。


まず最初にコモンイベント044の156行目から163行目ですが、これはカーソルの初期表示位置を示しています。
特に難しい処理は無いでしょう。ウィンドウや文字列の移動と同じです。

肝心なのは210行目以降の処理です。
ここも一つ一つを分解していけば、そう難しい処理ではありません。
100行以上もあるためコモンイベントの引用は行いませんので、各自のウディタと照らし合わせてご覧ください。

まず205行目から217行目。
ここはカーソルの初期位置である156〜163行目とほぼ同じですが、このコモンEvセルフ2がV9-39[メニュカーソル位置]によって数値を変える仕組みになっています。
変数こそ使われていませんでしたが、これと同じような例を先ほど見ましたね?
メニューの項目で見た、「Y座標を変えずにX座標だけを変える」方法の応用です。
ループ内で使用するとこういう形になります。ここも今回の目的と同じように、X座標を変えずY座標を変える処理に改造しましょう。

■このコモンEvセルフ2 = 50 + 0
■このコモンEvセルフ2 = 0 * V9-39[メニュカーソル位置]  の二つを消し、
■このコモンEvセルフ4 = 18 + 0
■このコモンEvセルフ4 = 0 * V9-39[メニュカーソル位置]  を追加
更に、
■このコモンEvセルフ4 = 11 + 0 を ■このコモンEvセルフ4 += 11 + 0 に変更すれば完成です。


これで、カーソルが縦に動くようになったはずです。
…………ただし、右を押したら下へ。左を押したら上へ移動するようになってるはずですが。


これをキチンと上を押したら上へ、下を押したら下へ、左右を押してもカーソルが移動しないようにするにはコモンイベント044の219行目以降。
■キー入力:このコモンセルフ変数4/[入力待ち] 4方向 決定(10) キャンセル(11)
これを使用します。
このコマンドは対応するキーを押すことで指定した変数へ、↓:2、←:4、→:6、↑:8、決定:10、キャンセル:11の値を格納することが出来ます。
つまり、ここで指定したこのコモンセルフ変数4の値で条件分岐してやるとキチンと動くようになるのです。

基本システムで解説すると、
012345
この六つの項目があるとします。
カーソルの初期位置は1なので、最初にV9-39[メニュカーソル位置]に0を代入します。
→を押した時、V9-39[メニュカーソル位置]に1を加算。
←を押した時、V9-39[メニュカーソル位置]にV9-41[[メニュー]コマンド数]に-1を加算します。
そして、V9-39[メニュカーソル位置]をV9-41[[メニュー]コマンド数]で割った余り。つまり V9-39[メニュカーソル位置] % V9-41[[メニュー]コマンド数] を取得するときっちりカーソルの位置を出してくれるというわけです。
例えば→を45回押した場合、45 % 6 = 3 なのでカーソルは3の位置にある、と計算できます。
計算結果をまたV9-39[メニュカーソル位置]に代入してやるとループによって上の方へと戻り、カーソルの位置を描画しなおして戻ってくるのです。


今回の改造では条件分岐で「4の場合」→「8の場合」、「6の場合」→「2の場合」と変換してやるだけで正しく動くようになるのですが。
メニューの項目が6個じゃ足りない! って人は044の254行目以降を弄ってみてください。
メニューを二列にしたいんだけど! って人は044の240行目辺りに上下の分岐を入れ、カーソル位置を上手く変数で表してみてください。
上下に動くと変数の値を2動かし、左右に動くと1動かすように設計すれば、
01
23
45
67
こんな番号の割り振りで綺麗にカーソル位置が表せるはずです。






と、これでメニューの基本画面は表すことが出来ました。
このページはこれで完成。次のページではアイテム欄の改造について喋くります。


前へ

このページへのコメント

長らく更新されてないようですが、とてもためになるサイトだと思うので、これからもがんばってください。

0
Posted by water 2010年07月17日(土) 01:06:41 返信

ご指摘、ありがとうございます。
修正しました。

0
Posted by 管理者 2009年05月28日(木) 10:15:43 返信

> →を押した時、V9-39[メニュカーソル位置]に1を加算。
> ←を押した時、V9-39[メニュカーソル位置]から1を減算します。

←を押した時はV9-39に「カーソル数-1」を加算する形だったと思います。
でないと%を使っても正常に動作しないはずですよ。

0
Posted by 閲覧者 2009年05月18日(月) 15:29:58 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

メニュー

雑事メモ

基本システム改造
自作メニュー
┣メニュー基本画面
┣アイテム画面
┣特殊技能画面?
┣装備画面?
┗セーブ画面?





うpろだ

管理人/副管理人のみ編集できます