私はUnity 2Dの非常に基本的なテストを行っています。私が抱えている問題は、スプライトが地面に衝突してイベントが常に頻繁にチェックされていることです。スプライトはリムボーに残ります。それは、それがすぐに上下に起こって回って回るように指示するときに、地面を離れる機会を持たない。 下のクリップに示すように:私が欲しいもの補間オブジェクトの衝突が発生しました
https://m.youtube.com/watch?v=gPmmLjGe9iQ
は接触が行われたときにスプライトが、それはY軸方向です変更する必要があります。以下の私のコードを見てください。
void Update() {
hitWall = Physics2D.OverlapCircle(wallCheckUp.position, wallCheckRadius, whatIsWall);
if (hitWall)
{
moveUp = !moveUp;
}
if (moveUp)
{
transform.localScale = new Vector3(-1f, 1f, 1f);
GetComponent<Rigidbody2D>().velocity = new Vector2(speed, GetComponent<Rigidbody2D>().velocity.x);
}
else
{
transform.localScale = new Vector3(1f, 1f, 1f);
GetComponent<Rigidbody2D>().velocity = new Vector2(-speed, GetComponent<Rigidbody2D>().velocity.x);
}
}
さらに詳しい情報が必要な場合はお知らせください。私が明確に持っているものにするために
EDIT
私のスプライトの設定を参照してください。任意の重複のため
なぜ、あなたは完全に 'Rigidbody'(手動で' velocity'を設定する)を誤って使用しているのだろうか、それを正しく使用する方法についてドキュメントをチェックしてください。 – Aybe
私はまだ学んでいます。私はこのチュートリアルの基礎をオンラインチュートリアルから得ましたが、それは左右の動きのためのものでした。私は必要なものを手に入れようと試みました。 – Phil3992
基本的には、 'Rigidbody'で' Add *(Vector3) 'メソッドを使うだけで、' PhysicsMaterial'に目的のボーイングを割り当ててから、必要に応じて微調整してください。 – Aybe