りよねこたわ~

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

続・並列処理には気をつけようにゃ~

ω-`) 先週の並列処理の修正なんにゃけど、まだ見落としてる点があったにゃ~。

ω・`) どういうことかというとにゃ…。

ω-`) えっとにゃ…どういうことにゃんだったかにゃ~?w

 

ω・`) 「扉を開けて場所移動する」って処理を自動実行にしたから、この処理が終わるまではキー入力は受け付けない(はず)にゃ~。

ω-`) 問題があったのはこのあとなんにゃ~。

場所移動した先でメッセージを表示するイベントがあるんにゃけど、このイベントを並列処理で作ってるとへんてこりんなことになっちゃうんにゃ~。

 

ω-`) うにゃ~?よくわかんにゃいにゃ~?

① 並列処理「上を向くと常にかわいいみこってちゃん画像が表示される」にゃ~。

② 並列処理「特定の場所で、右を向いているときにEnterキーを押すと扉スイッチをONにする」にゃ~。

③ 自動実行「扉スイッチがONになったときに、右に場所移動する」にゃ~。

④ 自動実行「場所移動した先で、セルフスイッチAをONにして並列処理を起動する」にゃ~。

⑤ 並列処理「右を向いているときにメッセージスイッチをONにする」にゃ~。

⑥ 自動実行「メッセージスイッチがONになったときにメッセージを表示する」にゃ~。

ω・`) こんなかんじかにゃ~?

 

ω-`) で、③の場所移動が行われているときに、左矢印キーをうにゃにゃにゃにゃッ!って連打してると、タイミングによっては⑥のメッセージが表示される前に左矢印キーが反応しちゃうんにゃ~。

どうなるかっていうと、①の上を向いたときに表示されるかわいいみこってちゃん画像と、⑥の右を向いたときに表示されるメッセージが一緒に表示されてしまうんにゃ~。

 

ω・`)b メッセージを表示させる処理を④の自動実行に変更すれば、場所移動から始まる処理の途中で矢印キーの入力を受け付けることはなくなる(と思う)にゃ~。

 

 

並列処理には気をつけようにゃ~

ω・`) 「たいへんにゃ~たいへんにゃ~。」

ま~くん 「ちっとも大変そうにみえないけど、どうしたの?」

ω・`) 「これを見てほしいにゃ~、作り直したイベントのテストをしてるときに気がついたんにゃ~。」

f:id:riyoneko:20181031192821j:plain

f:id:riyoneko:20181031192904j:plain

ま~くん 「なにこれ、真っ黒じゃん。しかも変なメッセージが表示されてる?」

ω・`) 「Enterキーを押すと扉を開けて向こう側に移動するんにゃけど、移動してる最中に右か左か矢印キーを押すと反応してしまうのにゃ~。このメッセージは、移動した先で左矢印キーを押して左に向きを変えると表示されるようになってるにゃ~。」

ま~くん 「なるほど。で、なんでこうなっちゃったの?」

ω・`) 「うんとにゃ~、これが場所移動のイベントなんにゃ~。」

f:id:riyoneko:20181031192928j:plain

ω・`) 「この場所移動の処理を並列処理にしてるからこういう現象が起きてる(と思う)にゃ~。だから、この場所移動の処理を別のページに書き直して、自動実行にすれば解決する(と思う)にゃ~。」

ま~くん 「ふむふむ、直し方まで分かってるんだったら特に大変そうには感じないけど?」

ω-`) 「うにゃ~、扉を開けて移動する処理のほとんどがこの作り方なんにゃ~。だから最初から直さないといけないにゃ~。」

ま~くん 「あ~、確かに直す作業が増えちゃうね。でもテストなんだから、こういう不具合を見つけて直していかないと。公開してから見つかるよりよっぽどいいよ。」

ω・`) 「そうなのにゃ~?」

ま~くん 「そうなの。だから張り切って直してねwバームロール置いていくからw」

ω・`) 「わかったにゃ~(´~`)モグモグ」

 

複数のcaseで同じ処理をするときの書き方にゃ~

ω-`) だいぶ寒くなってきたにゃ~。

ω・`) それに1週間経つのも早いにゃ~。

ω-`) 作り直したマップのテストがまだ終わってにゃいにゃ~。

ω・`) テストする項目が多いとはいえ、来週には終わらせたいにゃッ!

 

ω・`) 今日の内容はswitch文にゃ~。

RPGツクールMVのソースコードを眺めていたんにゃけど、switch文で次のような書き方があるところを見つけたんにゃ~。

    switch (fadeType) {
        case 0: case 1:
            this.startFadeIn(this.fadeSpeed(), fadeType === 1);
            break;
    }

これを見たときに、「うにゃ~?こういう書き方あるんにゃ~?もしかして複数の条件で同じ処理をするときにはこう書くのかにゃ~?」って思ったんにゃ~。

ω・`)b で、調べたらやっぱりそうだったにゃ~。

www.sejuku.net

ω-`) いままで1つのcaseで1つの処理を書いていたからにゃ~、同じ処理をいっぱい書いてたにゃ~。

これで少しはスマートなソースコードを書けるようになるかにゃ~?(*´ω`*)

 

ご褒美がにゃいにゃ~

ω・`) うにゃ~バームロールこないにゃ~w

ω-`) 目標の、作り直し予定のイベントを作り終えたのに、ご褒美がにゃいにゃ~。

 

ω・`) 8月22日の記事で作り直すことを書いてるから、2ヶ月くらい経ってるにゃ~。

ω-`) もとは全体のテストをしてたわけだから、ようやく本来の流れに戻ってきたかにゃ~?

 

来週までに、作り直したイベントのテストを終えるところまでいきたいにゃッ!

(`・ω・´)シャキーン

 

(「ФДФ)「 フシャー(`皿´)ガルルル…

ま~くん 「りよちゃんりよちゃん、調子はどうkn…。」

(「ФДФ)「 フシャー

(`皿´)ガルルル…

ま~くん 「今週はかなり荒れてるな…。りよちゃんバームロール食べる?」

ωΦ) 「うにゃッ!?食べるにゃ~(´~`)モグモグ」

ま~くん 「で、なんで荒れてるの?」

ω-`) 「最近イライラしててにゃ~、カルシウム足りてにゃいのかにゃ~?MVで作ってても進み具合があまりよくないしにゃ~。」

ま~くん 「どれどれ、う~ん、作り直す予定のイベントの三分の一くらいできた感じかな。でもこのペースだと、年内に第1部を完成させるのはかなり厳しいね。」

ω;`)ぅ…

(「ФДФ)「 フシャー

ま~くん 「はいはい、バームロール食べて落ち着いて。」

ω;`)ぅ… 「モグモグ…」

ま~くん 「りよちゃんはあまり集中力がなくて、あっちこっちふらふらするからなぁ。今週の目標を決めて進めたらどうかな?今週は【作り直す予定のイベントを全部作り終える】とかね。」

ω-`) 「わかったにゃ~」

ま~くん 「まぁ今のところは、いつまでに作るよりは中身にこだわって作っていいんじゃないかな。」

ω・`) 「わかったにゃ~、あ、次来るときもバームロール持ってきてにゃ~w」