やさしいウディタ講座13:ループの「中断」と「開始へ戻る」の使い方

無料のゲーム開発ツール「ウディタ(WOLF RPGエディター)」の基本的な使い方を、初心者さん向けに紹介するこの企画。

前回「やさしいウディタ講座12:ループを使ってイベント内容を繰り返す」では、一定範囲のコマンドを繰り返し実行させる、ループの基本について解説しました。

今回講座もループに関わる題材。「ループの中断」と「ループ開始へ戻る」のコマンドについてです。それぞれのコマンドを利用したイベント例を見ながら、使い方を覚えてみましょう。

「やさしいウディタ講座」- もくじ
現在公開中の講座をまとめたページ。「ウディタのことがよくわからない」「簡単な機能から覚えたい」などの初心者さんは、初期の講座から読むのがおすすめです。
>>WOLF RPGエディター|公式サイト
公式サイトにはウディタの使い方を詳しく解説している、マニュアルやガイドが公開されています。ウディタを学ぶ際の必須となる教科書です。ぜひ参考にしましょう。

ウディタのループコマンドを軽くおさらい

先に、前回講座12でやった「ループ(繰り返し)」と「回数付きループ」について、さらっとおさらいを。

ループ(繰り返し)」とは、このコマンドで囲まれた部分をウディタが自動で実行し続ける機能です。指示がない限り、永遠に繰り返すのが特徴。

回数付きループ」とは、繰り返し回数が最初から決まっているコマンドです。仮に設定を5回にしたなら、回数付きループで囲った部分を5回繰り返し実行します。5回の実行を終えたら自動的にループを抜けるのが特徴。

…以上でおさらいは終了。

続いて今回のメインである、「ループ中断」と「ループ開始へ戻る」のコマンドについて、見ていきましょう!

今回の講座ではループ以外に、条件分岐コマンドを頻繁に使っています。ウディタの条件分岐がわからない人は、「やさしいウディタ講座10:条件分岐の基本!イベント内容を振り分ける」も合わせて読むと理解しやすいです。

スポンサーリンク

「ループ中断」について

「ループ中断」とは?

ループ中断は、ループ(繰り返し)から離脱させるためのコマンドです

イベントコマンド入力画面の「H イベント制御」にある、「ループ中断」ボタンで入力できます。

ウディタ イベント制御 ループ中断

「回数付きループ」のコマンドと似ていますけど、これだと最初に決めたループ回数で固定されてしまうのがネック。

一方、ループ中断のコマンドは、ループの中であればどこにでも組み込めます。そんな自由度の高さが魅力。「このポイントでループから抜け出したい!」といった風に、好きなタイミングで命令を出せるんです

「ループ中断」を使った例

以下のコマンド欄を参考に、ループ中断の使い方について解説してみましょう。

ウディタ コマンド

「こんにちは。」の文章をループで繰り返し表示。そんなイベント内容にしてみました。

ウディタ ゲーム画面

ループ(繰り返し)」コマンドで囲まれた部分を見てください。

システムデータベースに作った予備変数ランダムな数値」に対し、変数操作しています。この部分で、1~5のいずれかの数字を変数に代入させています

ウディタ コマンド

システムデータベースに変数を登録する方法については、「やさしいウディタ講座11:条件分岐&変数で複数イベントを変える – システムデータベースで通常変数を作る」を参考に。

ランダムな数値を入れる変数操作のやり方は、以下のとおりです。

ウディタ 変数操作 ランダム

変数操作画面の右辺の部分がポイント。真ん中の記号を「」にします。その左右に2つの数字を入れます。これでランダムな数字の範囲を指定できるんですね(上の画像の例なら範囲は1~5)。

後はウディタが自動で、ランダムな数字を変数に代入してくれます。

で、文章や変数操作のコマンドをループでぐるぐると何度も繰り返すわけですが、条件分岐の部分に注目

ウディタ コマンド

予備変数「ランダムな数値」の中身が「5と同じ」の条件をつけています。

その時点で「ランダムな数値」の中身が「5以外」であれば、条件をスルーしてループを続行。「こんにちは。」の文章コマンドに戻って、実行を繰り返します。

ウディタ コマンド

「ランダムな数値」の中身が「5と同じ」であれば、「ループ中断」のコマンドに従ってループを抜けます

ウディタ コマンド

結果、「◇ループここまで」の直後にある「さようなら。」の文章コマンドが画面に表示され、このイベントは終了です

ウディタ ゲーム画面

「ループ開始へ戻る」について

「ループ開始へ戻る」とは?

ループ開始へ戻るは、ループの途中であってもループのはじめに戻れと命令するコマンドです

イベントコマンド入力画面の「H イベント制御」にある、「ループ開始へ」ボタンで入力できます。

ウディタ イベント制御 ループ開始へ

このコマンドの機能を例えるなら、以下のような感じ。

========

_運動場のトラックを何周も走らされている人がいます。あと半周走れば10周目を走り終え、11周目に入ります。そのとき突然、コーチから声をかけられました。

『そこのお前!今すぐ10周目のスタート地点に瞬間移動して走りなおせ!!』

========

…この鬼コーチの立場こそが、「ループ開始へ戻る」のコマンド。

走っている人(ウディタ)はとても真面目で逆らわない良い子なので、鬼コーチの命令どおりにきちんと走りなおして(ループをやりなおして)くれるってわけです。

(´;ω;`)

「ループ開始へ戻る」を使った例

以下のコマンド欄を参考に、「ループ開始へ戻る」の説明をしてみます。

ウディタ コマンド

ループの中で、「ループ回数」をカウントする。そんなイベント内容にしてみました。

ループ回数のカウント記録用に使うのが、システムデータベースに作った予備変数ループ回数」。「◇ループここまで」の直前の変数操作で1を足して、総数を記録させます

ウディタ コマンド

イベントがはじまったらループの中へ入る前に、予備変数「ループ回数」を変数操作。ループ回数の中に「0を代入」し、初期化しています。

ウディタ コマンド

これで毎回、過去の記録を消した状態からイベントを開始できるんですね。

で、ループの中に入った後、変数操作で予備変数ランダムな数値」の中に、1~10のうちいずれかの数字を入れています。(これについては「ループ中断を使った例」の項目で解説済み。忘れてしまったなら上にスクロールして読みなおしてください。)

ウディタ コマンド

続いて、条件分岐の部分です。

ウディタ コマンド

ここで予備変数「ランダムな数値」の中身をチェック。

中身が「1と同じ」であれば、「ループ中断」のコマンドが発動。ループを即座に抜けた後、文章コマンドでループ回数の結果を画面に表示します。

ウディタ コマンド ループ中断

ウディタ ゲーム画面

「¥v1[3]」の部分で、予備変数「ループ回数」の中身を画面に表示しています。

 

ウディタ コマンド 特殊文字

この特殊な記述方法については、ウディタ公式マニュアルの「特殊文字一覧」が参考になります。

「ランダムな数値」の中身が「1以外」の場合、最初の条件をスルー。次の条件をチェックします。

次の条件は「ランダムな数値」の中身が「10と同じ」

ウディタ コマンド

10以外であれば条件をスルーし、「◇ループここまで」の直前の変数操作で、予備変数「ループ回数」に1を足します。その後はループを繰り返し。

ウディタ コマンド

一方、中身が10であった場合には「ループ開始へ戻る」のコマンドが発動。今回のポイントです!

この場所から瞬時にループ開始時点へ戻りますから、「◇ループここまで」の直前にある、ループ回数に1を足す変数操作コマンドは実行されません

ウディタ コマンド ループ開始へ戻る

  • 予備変数「ランダムな数値」の中身が「1と同じ」のときだけ、ループを離脱。カウント数を画面に表示してイベント終了。
  • 予備変数「ランダムな数値」の中身が「10と同じ」場合、予備変数「ループ回数」へ1を足す変数操作コマンドが実行されず、カウントされない。
  • ランダムな数値」の中身が「1と10以外」であれば、予備変数「ループ回数」に1が加算される。

というわけ。

今回の例のように、「ループ開始へ戻る」のコマンドは複雑なコマンド内容になりがちです。ウディタ上級者向けのコマンドかもしれませんね。

「ループ中断」だけでも覚えておこう

ウディタ初心者さんには難しい内容だったでしょうか?

特に「ループ開始へ戻る」は、もろにプログラミングの世界という雰囲気がしますね。自分も、使いたくないな~と思えるほどですし。

とりあえず最初に解説した、「ループ中断」コマンドだけでも覚えてください。これを使えば、イベントの無限ループを回避できます。

次回の講座は?

やさしいウディタ講座13はここまで。

次回「やさしいウディタ講座14:自由に操作できる!並列実行のループイベント」も、ループについてです。

前回講座12でループを使った基本的なイベントを作成しましたが、応用編として解説します。そのときのイベントを使いまわしますので、先にやさしい講座12を読んでおくことをおすすめします。

イベントの起動条件「並列実行」を使って工夫してみますよ~。

「やさしいウディタ講座」- もくじ
※全講座の目次ページはコチラ。