ユーザ用ツール

サイト用ツール


フルーツフィールド_for_m5stack_m5core2

差分

このページの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に「作って」っていって作ってもらいました。
 ===== スクリーンショット ===== ===== スクリーンショット =====
  
フルーツフィールド_for_m5stack_m5core2.1733978783.txt.gz · 最終更新: 2024/12/12 04:46 by araki