レビテト時に影がないからしょぼいって話ですが、
昨晩寝る直前に「バトラー画像を黒ブレンドして反転180度回転height/10」で、
影が出来ると思いついてしまう。
自分の才能が怖い(゚∀゚)!!
で、試行してみました。そして失敗を繰り返しました…orz
影っちゃ影が出来たのはいいんですが、問題が2点。
1.何故かエネミーは影が上に来る。
2.死亡時にどのように消せばいいのか考えてなかった。
2はそのうち何とかなるとして、1が真剣に謎。
Z座標はもちろん指定してるんですが、何故かエネミーだけ上に来てしまう。
Sprite_Battlerに@shadowつくって、そこにsprite.newしてて、
たぶんそれが「後に出来たオブジェクト」ってことでZ座標が上に来るんだろう。
でも、それだとアクターだけ下に来るトコに説明つかないんだけど……
ってことで、新たなクラスSprite_Shadowを作成して、そこで描画。
これで動作も見た目も問題なし。
ついでにSprite_Battlerでブリンク画像を用意してたので、Sprite_Shadowに移植する。
(こうしないと敵だけブリンク画像が上に来る)
しっかし、動いてるから良いけど、Sprite関係はよくわからんです。
んで、一息ついて考えたところ、
viewportを指定せずにsprite.newしてたのが悪かったと気づく。
んー、そもそも、viewportってナニ? よくわかってないです……orz
ううむ、結果論ですが、分割処理してソースが見やすくなったからOKとしよう。
さらに次いでといってはアレですが、↑の2.も処理したのでOKOK。
そして、shadowと同じようにユニステも別クラスで描画して完了。
これで、ステートに関する描画処理は終了です。
まぁ、前々日課題の
badステート描画での謎のエラー究明
メニューを開いた後にブリンク描画すると、何故かブリンクが1枚になる究明
は、未だに放置していますが、
戦闘中、ターン進行によってステートを変化させてないので、
まずはこれを実装しようと思います。