RPG作る人のブログ

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


テーマ:

ツクールMVでオプション画面をスクリプトで開く方法

この記事はこちらのページに移動しました。

AD
いいね!した人  |  コメント(2)  |  リブログ(0)

テーマ:

選択肢を表示中にイベントの処理を停止して、背景をぼかすスクリプト


プラグインの置き場所は
http://rpgmaker-script-wiki.xyz/choice_back_blur_plugin.php
に変更されました。
AD
いいね!した人  |  コメント(7)  |  リブログ(0)

テーマ:

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


ツクールMVスクリプトリファレンスwikiはこちらに移動しました。
AD
いいね!した人  |  コメント(9)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトでムービーの再生を行う方法

ツクールMVのスクリプトでムービーの再生を行うには以下の通りです。

Graphics.playVideo("movies/拡張子付きファイル名")


デフォルトのイベントコマンドでは拡張子がwebmというgoogleの提供する動画形式になってしまうので、ムービーが再生されないことがあります。

私はどの形式の動画を使っても拡張子がwebmになってしまい、再生されませんでした。

上記のコードだけ抜き出し、拡張子もファイルのものを書けば再生されます。

サンプルコード(sampleというogvファイルを再生)

Graphics.playVideo("movies/sample.ogv")


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

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(19)  |  リブログ(0)

テーマ:

ツクール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・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトでループ・ループの中断を行う方法

ツクールMVのループ処理をスクリプトで行う方法ですが、javascirptにはrubyのようにloopという繰り返し処理は無いため、ツクールMVでスクリプトで繰り返しをするときはforかwhile、またはdo..whileで繰り返すことになります。

ループという意味ではwhile文の方が近いかもしれませんね。

ここではその繰り返しについて紹介します。

for文で繰り返し

for(var 変数名 = 初期値; 繰り返し終了条件; 変数の増減法){
処理
}


サンプルコード(繰り返し番号をメッセージに表示)

for(var i = 0; i <= 10; i++){
$gameMessage.add(i + "番目の繰り返し")
}


while文で繰り返し

初期条件
while(繰り返し終了条件){
処理
変数の増減
}


while文を使うときは変数の増減法を{}の中に書く必要があります。

サンプルコード(繰り返し番号をメッセージに表示)

var i = 0
while(i <= 10){
$gameMessage.add(i + "番目の繰り返し")
i++
}


do..while文はwhile文と似ていますが、先に終了条件を書いてその後に処理を書くか、先に処理を書いてその後に終了条件を書くかという違いがあります。

javascriptを使いこなしている方にとってはより深い意味があるのでしょうが、自分としては好みの問題だと思っています。

初期条件
do{
処理
変数の増減
}
while(繰り返し終了条件)


サンプルコード(繰り返し番号をメッセージに表示)

var i = 0
do{
$gameMessage.add(i + "番目の繰り返し")
i++
}
while(i <= 10)



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

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトで移動ルートの設定を行う方法

ツクールMVのスクリプトで移動ルートの設定を行うには以下の通りです

this.character(キャラクターID).forceMoveRoute({
"list":[{"code":コードID",parameters":パラメータ"}
{"code":コードID",parameters":パラメータ"}],
//ルート入力終了 *必須
{"code":0}],
//動作を繰り返す
"repeat":true か false,
//移動できない場合は飛ばす
"skippable":true か false,
//完了までウェイト
"wait":true か false})


キャラクターIDは「-1」などの負の数でプレイヤー、「0」でこのイベント、正の数でイベントIDを指定します。

コードIDについては以下の通りに対応しています。

ルートエンド = 0;
下に移動 = 1;
左に移動 = 2;
右に移動 = 3;
上に移動 = 4;
左下に移動 = 5;
右下に移動 = 6;
左上に移動 = 7;
右上に移動 = 8;
ランダムに移動 = 9;
プレイヤーに近づく = 10;
プレイヤーから遠ざかる = 11;
一歩前進 = 12;
一歩後退 = 13;
ジャンプ = 14;
ウェイト = 15;
下を向く = 16;
左を向く = 17;
右を向く = 18;
上を向く = 19;
右に90度回転 = 20;
左に90度回転 = 21;
180度回転 = 22;
右か左に90度回転 = 23;
ランダムに方向転換 = 24;
プレイヤーの方を向く = 25;
プレイヤーの逆を向く = 26;
スイッチON = 27;
スイッチOFF = 28;
移動速度の変更 = 29;
移動頻度の変更 = 30;
歩行アニメON = 31;
歩行アニメOFF = 32;
足踏みアニメON = 33;
足踏みアニメOFF = 34;
向き固定ON = 35;
向き固定OFF = 36;
すり抜けON = 37;
すり抜けOFF = 38;
透明化ON = 39;
透明化OFF = 40;
画像の変更 = 41;
不透明度の変更 = 42;
合成方法の変更 = 43;
SEの演奏 = 44;
スクリプト = 45;

ルート入力の最後には{"code":0}を必ず入れてください。

サンプルコード(キャラクターIDが1のキャラの移動ルートに下に移動、60フレーフウェイト、x方向に1・y方向に2ジャンプ、SEの演奏を設定、繰り返しはoff、飛ばさない、完了までウェイトする)

this.character(1).forceMoveRoute({
"list":[{"code":1},
{"code":15,"parameters":[60]},
{"code":14,"parameters":[1,2]},
{"code":44,"parameters":[{"name":"Applause1","volume":90,"pitch":100,"pan":0}],"indent":null},
{"code":0}],
"repeat":false,
"skippable":true,
"wait":true})


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

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトでイベントの位置設定を行う方法

ツクールMVのスクリプトでイベントの位置設定を行うには以下の通りです。

character = this.character(キャラクターID)
character.locate(X座標, Y座標)
character.setDirection(方向)


キャラクターIDは「-1」などの負の数でプレイヤー、「0」でこのイベント、正の数でイベントIDを指定します。

方向はテンキー対応しています。
0:そのまま
2:下
4:左
6:右
8:上

サンプルコード(イベントIDが1のイベントをマップ(2,4)へ左向きに設定)

character = this.character(1)
character.locate(2, 4)
character.setDirection(4)


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

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトでスキルの増減を行う方法

ツクールMVのスクリプトでスキルの増減を行う方法です。

//スキルを覚えさせる
$gameActors.actor(アクターID).learnSkill(スキルID)
//スキルを忘れさせる
$gameActors.actor(アクターID).forgetSkill(スキルID)



サンプルコード(アクターIDが1のアクター(ハロルド)にファイアを覚えさせて忘れさせる)

$gameActors.actor(1).learnSkill(9)
$gameActors.actor(1).forgetSkill(9)


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

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村
いいね!した人  |  コメント(2)  |  リブログ(0)

テーマ:

ツクールMVのスクリプトでバトルの中断を行う方法

ツクールMVのスクリプトでバトルの中断を行うなら以下の通りです。

BattleManager.abort()


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

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

いいね!した人  |  コメント(0)  |  リブログ(0)

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。