次回のメッセージ送りを作る前に少し注意点を言っておくと、メッセージを開くときにAを押すわけですよね。その間Aが押されているという状況になっています。ここでAが押されたらメッセージを送るという風にすると、開いた瞬間にメッセージ送りが発動してしまうのでなんとかして制御をしてやらなければいけません。プチコンやJavaScriptで作ってた時なんかはボタンカウントを設けて、カウントが1の時でなければ反応しないように作っていました。調べてる時間もないので既存の方法でチャレンジしてみましょう。コントローラーマネージャー側でボタンカウントをするようにしてみます。}いまいちゲッターとセッターの扱い方がわかってないので、体験版を作り終わったらしっかりと勉強してもうちょっと効率の良い安全性の高いコードを目指していきたいと思います。今は動いてくれればいいので、これでいきましょう。軽く説明すると、int型の配列を用意してそれぞれのキーのカウント変数を用意しました。本当は名前付きの法がわかりやすいと思うのですがDictionaryとかを使うといろいろと厄介なので簡単にやるためにint配列を使っています。本番環境はどうなるかはまだ未定ですね。指定キーのカウントを増やす指定キーのカウントをリセットまたは全キーカウントのリセットを設けました。あとは押されているキーに対してそれぞれの対応する配列にインクリメントするような仕組みを作りましょう。現在押されているキーというリスト変数を作ったと思うので、あれを渡してカウントするようにします。ついでにリセット用の関数も作ります。}なんか非効率な書き方ですが、きれいな書き方がわからないので愚直にカウントとリセットを書きました。説明しておくと、カウントは押されているキー配列に対してですが、リセットの場合は話されたときに何のキーかわかるようにしているのでその離されたキーに対してカウントリセットをかけるようにしています。これでカウント参照・カウント加算・カウントリセットと準備が整いました。リセットの仕組みを与えてみましょう。Controller_Player側で離された時の処理に先ほどの関数を追記します。}そしてカウント関数も毎フレーム呼び出しておきましょう。}ここまでできたらカウントされているか確認します。試しにAとSとDの数値を表示してみましょう。カウントとリセットができていますね!これでメッセージ送りとかボタン制御が必要とする準備ができました。ボタンカウントの最大値を決めておくボタンカウントはint配列で作ってますね。マイナスもいけてしまいます。本来であればuintというマイナスがないintのほうが安全なのですが、一旦このままいきましょう。あとはint型の最大値、つまり「2,147,483,647」を超えてしまうとオーバーフローして「-2,147,483,648」となってしまいます。ボタンカウントにこんな桁数いらないですよね。shortとあbyte型にしろよって思うのですが、最近のPCはint型のほうが高速に処理できるらしい(真偽は不明)と、調べていたらよく書いている人が多いので習ってint型にしています。カウントは正直0~255の256まであればいいんじゃないでしょうか。いうことで最後にカウントの制御を付け加えましょう。}256未満ならインクリメントするといった感じですね。これでオーバーフロー対策はできました。次回はメッセージ送りと選択肢を実装してみましょう。12/4なおキーヌ某なんでも屋企業のシステム管理者を務めつつリーマンからの解放を目指して奮闘中。FE&BE開発・Webデザイン・DTPデザイン・SEO・Webライティング等一人である程度のクオリティで大体のことが出来るなんでもエンジニア。小学校の夢でもあったゲームクリエイターを目指して2019年から少しずつ積み上げています。ゲーム作りの参考書TOP。