このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
前回の記事で、左右のスクロールとコスチュームの変更を行いましたが、アニメーションの変更を行った目に天井跳ね返りが出来なくなってしまいました。
今回はこの不具合を修正していきます。
下の動画は不定期配信の「ファイブボックス 一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。
原因と対策
原因
素材を確認すると、下の図のように2つのコスチュームの高さが違うことがわかります。
コスチューム1は高さが101,それに対してコスチューム2は高さが106,それぞれの高さに5の差があります。
コスチュームが変更されたときの、天井に着いたときのフローは以下のようになります。
コスチューム1で天井に触れる(ジャンプ力 > 0)
天井から離れるまでy座標を下げる
コスチューム2に変わる
高さが大きいので天井に触れてしまう(ジャンプ力 = 0)
天井を突き抜けるまで y座標を上げる
このようにコスチュームの大きさが違う場合、天井に触れた瞬間に突き抜けてしまうという現象が見られます。
対策
この対策は複数あります。
よく使われる手法の一つが、ジャンプやスクロールの動きは別の1つのスプライトで作成し透明にする、キャラクターはそいつを追従する。
今回は基本的な対策の一つ、コスチュームの高さを合わせる方法をとりたいと思います。
下の図のように、コスチューム2のキャットの右足を持ち上げて、高さを101に合わせてみます。
さらに中心位置もあわせます。
これだけで天井跳ね返りが元通りできるようになるはずです。
試してみてくださいね!
ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。
コメント