ツクールMVのスクリプトでラベルの設定・ラベルジャンプを行う方法 | RPG作る人のブログ

RPG作る人のブログ

RPGゲームを作りたい人のブログです。

ツクールMVのスクリプトでラベルの設定・ラベルジャンプを行う方法

スクリプトでラベルの設定とラベルジャンプを行おうとするとツクールの性質上、上手くいかない部分が出てきます。

詳細は以下で記述します。

ラベル設定

this._list[this._index].parameters = ["ラベル名"]


ラベルジャンプ

var labelName = "ラベル名";
for (var i = 0; i < this._list.length; i++) {
var command = this._list[i];
if (command.code === 355 && command.parameters[0] === labelName) {
this.jumpTo(i);
}
}


サンプルコード(labelというラベルを設定)

this._list[this._index].parameters = ["label"]


サンプルコード(labelというラベルへジャンプ)

var labelName = "label";
for (var i = 0; i < this._list.length; i++) {
var command = this._list[i];
if (command.code === 355 && command.parameters[0] === labelName) {
this.jumpTo(i);
}
}


このようにラベル・ラベルジャンプを設定できるのですが、ラベルの設定をラベルジャンプより後に持ってくるとジャンプが実行されず、イベントをもう一度起動すると意図した通りに実行されます。

これはRPGツクールがcommand118(ラベルの設定)ではイベントコード実行前にコードが118であるコードを先に実行するようプログラムされていると思われるのですが、スクリプトだとそれが実行されないために起こると推測されます。

つまり、スクリプトではラベルジャンプが実行された後にラベル名が設定されるのでラベルジャンプが起こらないということです。

また、ラベルの設定をスクリプトで行い、ラベルジャンプをイベントコマンドで行うとこれもエラーになる原因になります。

結局、スクリプトでラベルの設定をイベントコマンドでして、ラベルのジャンプをスクリプトで行うときのみどんな場面でも問題なく上手くいくということになります。

それ以外では使い方に制限がついてしまいます。

ツクールMVスクリプトリファレンスwikiへ戻る

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村