ユーザ用ツール

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
フルーツフィールド_for_m5stack_m5core2 [2024/12/12 04:46] – [キーボード回り] arakiフルーツフィールド_for_m5stack_m5core2 [2024/12/12 05:05] (現在) – [音] araki
行 45: 行 45:
 ===== 割込 ===== ===== 割込 =====
  
 +キーのリピート処理や、BGMなど、ゲームの負荷に関係なく一定間隔で行いたいものは、割込み処理で行う。
 +
 +ESP32は4本のタイマー割込みを持っているので、キーとBGMと分けてもいいなとか思ったんですが、収拾がつかなくなるだけのような気もしたので、一つの割込みの中かっら、キーボードと、BGM処理をそれぞれ呼び出すことで済ませています。
 +
 +タイマーは0.1秒間隔で割り込むように設定してある。
 ===== 音 ===== ===== 音 =====
  
 +本格的なサウンドドライバーとか作ってMMLを処理するなんていう大それた野望はなく、そもそも、X1版のフルーツフィールドもPSGをひっぱたくための周波数データが置いてあるだけだったので、それを M5.Speker.tone()に食わせられる値に変換して持ってきただけで済ませてある。
 +
 +タイマー割込みでタイミングをとって、APIをひっぱたくだけで済ませている。
 +ちょっと音痴なので、気が向いたら手を入れるかもしれないが、そもそも私自身が音痴なので、かえっておかしくしてしまうかもしれない。
 ===== キーボード回り ===== ===== キーボード回り =====
  
行 70: 行 79:
 ===== デモ ===== ===== デモ =====
  
 +デモは、タイトル画面の時に、REM君が動き回って、ブロックを動かし、壊して、フルーツを回収する奴が、PC-8001版で用意されていたので、それをそのまま頂戴します。
 +
 +まあ、疑似的なキー入力を定義しておいて、順にそれを食っていくだけなので、大したことはありません。
 +
 +ただ、よく考えると、キー操作の説明がどこにもないなと思ったので、キー操作の説明画面も作り、上のデモと交互に出るようにしました。
 +
 +PC-6001mkIIでは [SHIFT]でGive upでしたが、M5版では [ESC]をGive upに割り付けてあります。
 +まあ、それが表示されるだけなんですけれどね。
 +
 +タイトルロゴは、Geminiに「作って」っていって作ってもらいました。
 ===== スクリーンショット ===== ===== スクリーンショット =====
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information