あなたの天然記念物
ホーム更新雑談鉄ゲタランドナーコースガイド自転車JKFFハードソフトダウンロードLinuxリンク(Amiga)リンク(その他)連絡先経歴
    目次 ↓下へ ↑上へ
  1. メールソフトYAMでJISを使う方…
  2. 簡単なMakefile作成方法
  3. WWWサーバー Apacheを使ってみる
  4. ネットワークプログラミング
  5. Scala MM400を使いました
  6. メールソフトYAMで漢字を使う方法
  7. AWebIIで漢字を表示する方法
  8. インターネットでNiftyServeへログイ…
  9. チャットしませんか?
  10. インターネットでチャット(IRC)…
  11. あなたのブラウザに挑戦
  12. JKFFについて知っている二、三の…
  13. CD-ROMを焼き焼き
  14. Professional File System 2を使用開…
  15. 日本語エディタJKED
  16. P-MODELから曲を買ってCD-ROMに
  17. OS3.5インストール方法
  18. TAINACO-Eスクリーンブランカ
  19. Linuxとパラレル接続
  20. 動画ファイルを再生
  21. Real time graphics display trigger …
  22. JKFF最新リリース
  23. AmigaDOS3.9(アイコン編)
  24. AmigaDOS3.9(ファイルリクエスタ…
  25. AmigaDOS3.9(パーティション編)
  26. AmigaDOS3.9(AmiDock編)
  27. AmigaDOS3.9(Unarc編)
  28. AmigaDOS3.9(アイコン修正編)
  29. JKFFDisp最新リリース
  30. YAM用日本語マクロ
  31. 最強のAmigaエミュレータAmithlon
  32. MSでぇ得ぬ
  33. HDToolBoxの使い方
  34. 超高速起動のAmithlon
  35. HTMLのテンプレート処理(解説)
  36. ARexxでWorkbenchを制御(Ram D…
  37. ARexxでWorkbenchを制御(メニュ…
  38. あなたのブラウザに挑戦2
  39. BIOS変更で便利に楽しく
  40. Amithlon Contrib3bリリース
  41. Amithlonでキーボードマップを変更
  42. Amithlonでディジタルサウンド
  43. Perlに夢中
  44. ホームページ製作に夢中
  45. ホームページ作成スクリプト完成
  46. スクリプトのモジュール追加
  47. 文字コードチェックのモジュール追加
  48. 画像サイズ追加のモジュール追加
  49. 確率計算スクリプト
  50. タグIMG自動生成スクリプト
  51. ヘッダ生成モジュール改良
  52. 変換モジュール作成
  53. メニューを簡単に変更してみました
  54. Amithlonでアナログ録音
  55. 行変換のモジュール追加
  56. ページ末尾用のモジュール改善
  57. AmigaOSのシャットダウン用スクリ…
  58. ダウンロード用のモジュール追加
  59. ドローソフトの作成
  60. hpwakeのフロントエンド
  61. AmithlonでMIDI演奏
  62. 改行用のモジュール追加
  63. EはエンハンスドのEです
  64. Amithlonを使う方法-01
  65. Amithlonを使う方法-02
  66. Amithlonを使う方法-03
  67. Amithlonを使う方法-04
  68. フォント名の秘密
  69. 画像収集スクリプト
  70. やったね!AmigaOS4.0漢字表示サポ…
  71. 一言メモ-1
  72. DVD-Rを焼き焼き
  73. 海外送金も楽じゃない
  74. シューティングゲーム(の土台)作りま…
  75. Amithlonと行くLinux Kernelの旅
  76. メールソフトYAMで漢字を使う方法
  77. CDプレーヤ MCDPlayer
  78. 痛車が北海道に来るとAmigaで音声合…
  79. はちゅねをAmigaに連れてって
  80. パレット再配置スクリプト
  81. アクセス規制チェックスクリプト
  82. ニコニコ動画のサムネ表示モジュール…
  83. favicon表示対応
シューティングゲーム(の土台)作りました (2007.03.22)

文字コードやフォントがどーこーという物は、ちまちましていてストレスがたまりそう。この間、USBスタックPoseidonのレジストが完了してゲームパッドを使えるようになったのでストレス解消のためにシューティングゲーム(の土台)を作りました。

シューティングゲーム(の土台)

Amithlonではgameport.deviceの動作がうまくいかなくて「変だなー」と頭を抱えてたら開発者向けのサンプルプログラムも動作しなくてズッコケました。その代わりに関数ReadJoyPort一発呼び出しでパッドの現状(現在値)が32ビット値のフラグで来る次第。あー楽ちん。この関数V40からサポートだからV39までgameport.deviceでうにょうにょやってたのかなぁ。Poseidonで認識できたUSBゲームパッドはSANWA SUPPLY easy grip JY-P56UGという安価な物。パッド自体は上下左右、1〜10となっていてReadJoyPortで上下左右、1〜7を入力できました。

次はスクリーンの作成。Amigaの場合は解像度関連のサポート関数が充実してるからホイサッサ。かえって多過ぎるくらいなのでどれ使おうか?と悩むくらい。ちょいと困ったのは解像度1,024x768限定で一覧表示させるハズが低い解像度も一緒に出るのでコイツは選択しない方向で(爆)。
自機と敵機の絵はImageF/Xで32x32のドット絵を作りIFFで保存。AmigaのDataTypesはプラグイン式のファイルローダになるのでファイル形式問わず24ビットのビットマップ形式で取得できます。
ゲームパッドのみで入力するためキーボード入力は一切なし(いや、ストレス解消だからコレ)。なのでウィンドウなしでスクリーンのビットマップに直接描画することにしました。ただ、自機とか敵機を個別に描画するとチラつくのでバッファ用のビットマップに全部描画してからBltBitMapRasportしました。
起動するとスクリーンモードの選択リクエスタが出るので必ず1024x768のモードを選択します(笑)。モードはENV:OF_SHOOT_IDとENVARC:OF_SHOOT_IDに保存されて今後同じモードで起動しますから選択を間違えたときは2個とも消してください。スクリーンの中央に自機が表示されて上下左右(斜めOK)に移動できます。ボタン2を押すと敵機が襲ってくるのでかわしてください。あ、弾は出ません。土台ですから。敵機と衡突しても爆発しません。だから土台ですってば。ボタン7を押すと終了します。

このプログラムの動作条件は
・1024x768 24ビットのスクリーンをWorkbenchと別に確保できる。
・7ボタン以上のゲームパッドを接続している。

この条件を満たすにはAmithlonにPoseidonをインストールしなきゃ無理と思う。
もしかするとWinUAEなら行けるんだろうか。どうスか?>WinUAEな皆様
いやー、画面が動くプログラムを作るのはストレス解消になるねー。ま、gameport.deviceが動作しないのはストレスがレッドゾーン入ってたけど(笑)。

2007.03.22 ボタン1で自機から弾、敵が自動出現、敵も弾、ボタン6でポーズ、ちらつき軽減、Picasso96API.library使用、等々。 ofshoot2.lhaのほうです。 プレイ画面

ofshoot.lha (12,518 バイトを自宅サーバから 00:05 で)
ofshoot2.lha (21,592 バイトを自宅サーバから 00:05 で)
どのページも無断でリンクして構いません。
Valid HTML 4.01 Transitional