デバッグ&設計中
=状況=
「オブジェクトが消えると、浮遊しているはずのものが落ちてくる」というのは、やはりUpdateのループで要素をKillしているところが問題だった。Killしたら、その先のIObjectのUpdateが呼ばれなくなっていたので、一回だけ反重力処理がなくなり、そのため落下していた。リストからの要素の削除のバグとしては典型的すぎて、少し恥ずかしい。ちゃんとしたリストクラスがあるなら、そちらにここらへんの管理を任せたいのだが、以前調べたときには見つけられなかった。
別のゲームに組み込む予定だった「重力反転処理」っぽいものを組み込んでみた。プレイヤーの弾を当てればブロックにかかる重力が逆転する仕組み。
=swf=
ショットを当てるとブロックにかかる重力が反転する。
- 左右キー
- 移動
- 上キー
- ジャンプ
- Sキー
- ショット
- W,Xキー
- 垂直ショット
- Rキー
- リセット
=コード=
SwitchGravity.as(Main.asにリネームして使用)