りよねこたわ~

ロールプレイングゲーム作ってみたいにゃ~でもどうしたらいいのにゃ~?

1年に1作品くらい作りたいにゃ~

ω ・ =) 今週もテストと修正の繰り返しにゃ~。

ω- =) おめがちゃんとうにゃうにゃしてるけど、ちゃんと進んでる(と思う)にゃ~。

 

ω ・ =) そういえば、20年以上かけて作ったゲームが公開されたって見かけたような気がするにゃ~。

ω- =) すごいにゃ~って思うけど、やっぱり1年か長くても2年くらいで公開したいにゃ~。

ω ・ =) 今作ってるのもホントは1年くらいでうにゃにゃ~って作るイメージだったんにゃ~。

ω- =) でも設計だったりプログラムだったりテストだったり、思ったより時間がかかるんにゃ~。

ω ・ =) でもそういうのを、次の作品や次の次の作品に活かせたらいいにゃ~。

 

もぐらたたきかにゃ~

ω ・ =) 今週もテストと修正の繰り返しにゃ~。

ω- =) 進み具合は相変わらず遅いけど、ちゃんと進んでるにゃ~。

ω Ф =) おめがちゃんやぐっちゃんとは関係ないかもにゃ~?w

 

ω- =) それにしてもバグっていうか不具合っていうか、ぽこぽこ湧いてでてくるにゃ~。

ω- =) 設計が甘かったのかにゃ~?

ω ・ =) あとはあれにゃ~。

ω ・ =) スイッチとか変数とか、うにゃ~?あのスイッチはどこだったかにゃ~?ってこと結構あるんにゃ~。

ω- =) 次回作はこの辺も考えて作らにゃいとにゃ~。

ω- =) さすがに今から修正するのは、ちょ~~~っと影響が大きすぎるにゃ~。

 

ネコの手も借りたいにゃ~

ω- =) うにゃ~テストと修正の繰り返しにゃ~。

ω- =) それに進み具合が悪いにゃ~。

ω ・ =) みこってちゃんもそれなりに忙しいのにゃ~。

ω・*) おめがちゃんとうにゃうにゃしたり、おめがちゃんとうにゃうにゃしたりにゃ~。

ω- =) ま~くんも忙しいくて、ぜんぜん手伝ってくれにゃいしにゃ~。

ω- =) ネコの手も借りたいところにゃ~w

 

スイッチが整理できるかもにゃ~?

ω- =) ひたすらテスト、ひたすら修正にゃ~。

ω- =) でもちょっといろいろあって、進み具合が悪いにゃ~。

ω ・ =) にゃので、タイトルどおり役に立つかにゃ~?立たないかにゃ~?なお話にゃ~。

 

ω ・ =)b 今回は、「Enterキーを押したときに、扉を開けて向こう側に移動してメッセージを表示するイベント」の例で説明してみようかにゃ~。

f:id:riyoneko:20181121201534j:plain

こんな感じで、トリガーを決定ボタン、実行内容に場所移動とスイッチONを書いてるにゃ~。

「扉を開けて場所移動するにゃ~1」スイッチがONになるとなんかメッセージが表示されるにゃ~。

 

ω- =) ゲーム作り始めた頃に考えたのは、扉1つ1つにスイッチを用意する方法にゃ~。

全部のマップの扉にスイッチを用意してたから「扉を開けて場所移動するにゃ~??」ってスイッチがいっぱいできてたにゃ~w

まぁスイッチの数も上限は5000個にゃから、よっぽどのことがない限り足りなくなることはにゃいと思うのにゃ~。

 

ω ・ =) 2つ目に考えたのは、マップごとにスイッチを使い回す方法にゃ~。

メッセージを表示した後はスイッチをOFFにするし、イベントはそのマップのイベントが自動実行されるから、扉1つ1つにスイッチを用意しなくてもいいんじゃにゃいかにゃ~って思うのにゃ~。

ω ・ =) 扉の多いマップはスイッチが多くなるけれども、最初の方法よりはかなり少なくなるにゃ~。

 

ω ・ =) 3つ目に考えたのは、スイッチと変数を組み合わせる方法にゃ~。

「扉を開けて場所移動するにゃ~」ってスイッチ1つだけを出現条件にして、メッセージを表示するイベントを自動実行させると、イベント自体は出現するけど実行されるのはイベントID(?)が小さいイベントなのにゃ~。

f:id:riyoneko:20181121202213j:plain

そこでどうするかというとにゃ~、イベントの出現条件に変数を追加するのにゃ~。

f:id:riyoneko:20181121202402j:plain

ω ・ =)b イベントIDが小さい数ほど、変数に大きな数を入れておくことがポイントにゃ~。

σ(゜▽゜=)は999からイベントIDを引いた数を入れてるかにゃ~。

あとは場所移動するイベントのほうに、場所移動後に実行させたいイベントの変数を追記しておけばおっけ~にゃ~。

f:id:riyoneko:20181121203024j:plain

f:id:riyoneko:20181121203218j:plain

 これで出現するイベントのなかで実行したいイベントが実行されるにゃ~。

ω- =) 2つ目のマップごとにスイッチを使い回す方法と比べると、スイッチの数はどうかにゃ~?

ω- =) 複雑なイベントになると、あまり変わらないんじゃにゃいかにゃ~?

 

ω ・ =) というわけで今日のお話は終わりにゃ~。

 

画面の一部分だけフェードさせるにゃ~

ω-`) ずっとテスト中にゃ~。

ω-`) ちゃくちゃくとテスト中にゃ~。

ω-`) うにゃうにゃテスト中にゃ~。

ω・`) これだけにゃとつまらにゃいので、今日はフェードインとフェードアウトのお話にゃ~。

 

前々回の内容にちらっとスクリプトが載ってるのにゃ~。

 

riyoneko.hatenablog.jp

 

ω・`) これがスクリプトの内容にゃ~。

 

$gameScreen.movePicture(9,0,0,0,100,100,255,0,$gameVariables.value(10));

this.wait($gameVariables.value(10));

 

ピクチャの移動をスクリプトで書くとこうなるのにゃ~。

1行目の引数は左から、ピクチャ番号、原点、X座標、Y座標、幅の拡大率、高さの拡大率、不透明度、合成方法、時間にゃ~。

2行目は、完了までウェイトする場合に書くにゃ~。

 

ω・`)b どういうことかというとにゃ~、扉の前でEnterキーを押したら、ガチャっと音を鳴らして画面を暗く(フェードイン)して場所移動して画面を明るく(フェードアウト)してるのにゃ~。

ω-`) うにゃ~?フェードインとか場所移動のフェードは使わないのかってにゃ~?

ω・`) フェードインとか場所移動のフェードは、画面全体が暗くなっちゃってちょっと気になっちゃうのにゃ~。

ω・`)b だから黒い画像を用意して、それの透明度を変えてマップが表示されている部分だけ暗くしたり明るくしたりさせてるんにゃ~。

それにスクリプトで書いて、ピクチャの移動時間を変数を参照するようにしたほうが、あとから移動時間を変えることができるから便利なのにゃ~。

 

(`・∀・´)エッヘンニャッ!