画面端で跳ね返るボール
宿題
前回書いた、『ボールが右下に動いてゆくアニメ』をForkして、
『画面端に到達した時に、反射して戻ってくる表現を書く』
というお題。
どうせなら1回反射して終わりじゃなく、
x軸、y軸ともに反射処理を入れて、弾みまくるようにしたいな。
と思った。
実装方法
そこで、x軸y軸ともに向かう方向を数値で持たせ、
画面端でそれを反転させる処理を追加した。
その方向を判定して、x,yの値を足すか引くかを決定する。
できたものがコレ。
Animate Circles with Reflection(Failed) - wonderfl build flash online
判定
順調に画面中央から端に向かってボールが流れてゆく。
そして画面端で、反転!
やった、と思ったのもつかの間、
画面端で跳ね返ったと思ったボールが、
もう一度端に向かって跳ね返り、
ついには画面隅から出てこなくなってしまった。
敗因
方向の反転ロジックがおかしいんだろうな。
stage.width, stage.height, x, y あたりをいい加減に掴んでるから、
こういう事になるのかも知れない。
画面端の取得と、座標の取得のルールを再確認しよう。