[RGSS3]ツクールVXAceのスクリプトでラベル・ラベルジャンプを行う方法
RPGツクールVXAce & MVスクリプトwikiとプラグイン

[RGSS3]ツクールVXAceのスクリプトでラベル・ラベルジャンプを行う方法 > ツクールVXAceスクリプト(RGSS3)wiki

トップページ > ツクールVXAceスクリプト(RGSS3)wiki > ラベル・ラベルジャンプ

ラベル・ラベルジャンプ / ツクールVXAceスクリプト(RGSS3)wiki

ツクールVXAceでラベル・ラベルジャンプをスクリプトで行うなら以下の通りです。


任意の場所にイベントスクリプトで以下のようにラベルの設定

#ラベルの名前

ラベルジャンプの設定例

@list.size.times do |i|
	if @list[i].parameters[0] == "#ラベルの名前"
		@index = i
		return
	end
end

イベント編集画面では以下のようになります。


選択肢の例

コード解説


まずはラベルの設定について、ここでは#を使って注釈の形をとっていますが、これはエラーを引き起こさなければなんでも構いません。

例えば"ラベルの名前"として設定しても可能です。(この時ラベルジャンプでは'"ラベルの名前"'というようにシングルクォーテーションとダブルクオーテーションで囲む必要があります。)

次にラベルジャンプについてです。


1行目,6行目"@list.size.times do |i| ~ end"


rubyに初めて触るという方やプログラミングに慣れていない方は難しいかと思われますが、これはブロック、またはブロックつきメソッドと呼ばれるもので、繰り返しを指定する処理です。

ここでは詳しく説明はしませんので、詳しく知りたい方は「ruby ブロック」、「ruby each」等を検索してみて下さい。

「便利な繰り返し文」と一先ずは覚えてください。

意味としては「このイベントの処理リストの数(@list.size)だけ以下の処理を繰り返してください」というものになります。

for文にすれば以下のようになります。

for i in 1..@list.length-1

2行目,5行目"if @list[i].parameters[0] == "#ラベルの名前" ~ end"


if文ですが、ここではそれぞれのイベントの処理リストの第1パラメータが「#ラベルの名前」となっているかどうかを確かめています。

@list[i]はその行の処理の内容(文章の表示など)が入っており、@list[i].parametersでその処理に必要なパラメータが配列として記憶されています。

parameters[0]としたのはイベントがスクリプト出会った場合、コードの内容が第1パラメータとして入っているからです。

例えばイベントスクリプトに「#スクリプトの内容」と記せば、これが返ってきます。


3行目"@index = i"


これは現在処理している行をiにする、という意味です。

i、つまり、現在繰り返し文で確かめている行を代入することで、現在処理している行をその行にまで飛ばすという処理になります。


4行目"return"


ここでの「return」はこの行で繰り返しを止める、という意味になります。

つまり、探すラベルが見つかったのならそれ以上繰り返す意味はないのでやめるということです。

 

ツクールVXAceスクリプトリファレンスwikiトップページへ戻る




オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。



表示変更

任意の色に変えるときはテキストボックスをクリックしてカラーピッカーで決め、変更ボタンを押してください



文字色変更





コード色変更





コード背景色変更





背景色変更