敵の描画方法をちょっと工夫しました。
左がBefore、右がAfter。
動きに合わせてピクセル幅の揺らぎ(ドットの拡縮による)が起こるようにしました。
左の「1枚の絵が上下してるだけ」感を軽減したかったため、あえてこうしました。
こっちの方が、細部が揺らいで生気を感じる…と思うんですけど、どうじゃろ。

縮小後のスプライトをsurfaceに保管
→保管した縮小スプライトを呼び出す
→元と同じくらいのサイズになるよう拡大して、それを描画。
その後surfaceを削除、という流れです。
※音アリ
アイテムを拾った時の台詞がランダムになるようにしました。同行している仲間がワイワイ言ってきているイメージです。
フィールド上には自機一人しか表示されませんけど、実際は仲間(?)が着いてきている想定なので、そういう雰囲気を出せたらなと…。最終的にはもっとパターンを増やしたいですね。
そして…なんと…3週間かけて…
スキルのキャンセル処理を作りました!
Shiftキーを押すと、選択済みのスキルが1つ消えます!熟慮したい放題だね!
…あっ今地味だって思ったでしょ
そんなのに3週間もかかったのかよって思ったでしょ
できちゃえばそうだよねできちゃえばね……
今までは、味方一人一人の構造体のメンバ変数(配列)に選択済みのスキルを格納し、味方全員がスキルを選び終わったら全員の選択済みスキルを結合して、実行処理に移っていたわけです。
味方1「自分は通常攻撃と小回復を出すぞ」
味方2「自分は火炎攻撃を出すぞ」
味方3「自分は全体回復を出すぞ」
味方4「自分は単体バフと火炎攻撃を出すぞ」
→結合&並び替えを行い、[味方4の単体バフ、味方1の通常攻撃、味方2の火炎攻撃、味方4の火炎攻撃、味方1の小回復、味方3の全体回復]が実行される
これの何が問題かというと、「味方全員がスキルを選び終わる」まで、味方全体のスキル選択履歴が分からないという事なんですよね。
こっちが「最後に選ばれたスキルをキャンセルしてよ~ o(>ω<)o」とお願いしたところで、
プログラム側からしたら「最後に選ばれたスキルってどれだよ!?」としかならない。

ということで、スキルを選択するたびに、味方全員の共有配列(tent○○)にそのスキルのデータ(誰がその技を誰に対して使うのか、それは何番目か…etc)を送り、Shiftキーが押されるとその末尾のデータが消えるようにしたのでした。array_pop()、初めて使ったけど便利ですネ。
tentはtentative(≒「仮の」)の略だよん。味方全員がスキルを選び終わったら、ここに登録されたデータを正しい順番(バフデバフ→攻撃→回復)に並び替えて実行するということです。だからtent○○はあくまで「登録された順番」でいいってワケ。

敵の横にはスキルタグ(選択済みのスキルを現すタグ)が表示されます。
スキルキャンセル時にそのスキルのタグも一緒に消える仕様の実装がなかなかうまくいかず、キャンセルしたつもりが全く別のタグが消えてしまったりして困っておりました。

一週間ほどモゾモゾ足掻いていましたが、単に「スキルのタグの配列→1オリジン」、「登録されたタグの配列→0オリジン」なせいでズレてただけでした。何をやっているんだ…
やっとめんどくさい内側の処理が落ち着いたので、エフェクトとか状態異常とかの楽しい部分に回れそうで嬉しいです。