3/7日記 ===== プログラム ===== * 先日までに実装した可変長引数だけど、どうもメモリ破壊か何かで、データが不定になることを確認。 * 今回描画フラグ設定に利用していたんだけど、何故か描画する領域に侵食してしまって描画結果が安定しないことが発覚した。 * よって、可変長引数を利用するのは諦め。 * 代わりに、ステータスという変数を利用する形にした。 * これはビット演算によってパラメータを取得するという割と古式ゆかしい実装。 * 一応簡単にビット演算ができるように関数も作成したけど、これ自分で値入力したほうが早いのでは?となった。 * 0:なし、1:X反転のみ、2:Y反転のみ、3:XY反転、みたいなやつ。 * ということでなかなかアグレッシブなものになりつつある。 ---- * 回転描画について、どうも画像端に不足があるらしく、ちょっと拡張させてみた。これは特に左右の長さを違う形にするほど顕著に出てくる。 * 加えて、画像描画全般について、途中での処理打ち切りを入れてみた。 * 画像の情報を描画する際、特にXor描画はメモリアクセスが多くなり処理に時間がかかるので、なるべく初期の段階で処理しなくていいのがわかったら打ち切るようにしてみた。 * 割と効果があった。 * 一部の広い領域の描画については効果があった模様。(描画しない部分が多い場合) * こういうのを細かく積み重ねて描画速度を速くしていく必要がある。 * 同時に、ダメなものはエラーチェックを細かくしてないので、これどうしたもんかなと思った。画像全体を描画するから問題はないんだけど・・・となった。 ---- * 弾幕作ってみた。 * https://x.com/__machia__/status/2030233291002110359?s=20 * https://x.com/__machia__/status/2030256228832825361?s=20 * 困ったら大量の弾を出してみるという、いつもどおりの自分のパターンに持ち込むことができた。 * なるほど、このやり方は東方のスペルカード「エターナルミーク」にそっくりだ、という意見があった。確かにそうだわw * 適当に1フレずつランダムに弾を出すとそうなるし、エターナルミークは徐々に早くなってくはず。