Paddle
はSpriteRenderer
でレンダリングされています。彼らにはBoxCollider
が付いていて、完璧に動作します。ただし、異なる解像度では正しく縮尺されません。だから私はキャンバスにImage
を使用するように切り替えました。彼らは完全に拡大します。しかし、Paddle
の場合、BoxCollider
を正しくスケールすることはできません。私はインターネットを検索し、いくつかの解決策を見つけましたが、それらは完全に間違っていました。ここに私が見たものの大部分に基づく結論がありました。ユニティのキャンバスで画像を拡大するコライダー
GetComponent<BoxCollider2D>().size = gameObject.GetComponent<RectTransform>().sizeDelta;
これは全く機能しませんでした。
ここには、明らかでない場合に必要なイメージがあります。それは私が起こるために必要なものである、
緑色のボックスは、そのイメージで正しいサイズであるが、それは何が起こるかではありません。
本質的にはののサイズにスケールする方法が必要です。 (:それはとにかく動作しませんので、Paddle
は、スクリプトを持って、私はちょうどそれを切り取っ注):また
注意ここで
はPaddle
とCanvas
の検査官のイメージです。私が2つのGameObjects、ボールとパドルの間の衝突をチェックしているので、私が衝突者を必要とする理由があります。これはポンです。
UI要素にコライダーを使用しないでください。 UI要素をクリックしたい場合は、Buttonコンポーネントを代わりに使用してください。 –
私はそれについてはわかりませんが、私はそれが助けることができると思う、スプライトレンダラとオブジェクトのboxcollider2Dからスプライトを持っている、あなたはスプライトの変更を変更する解決策のサイズを取得する何らかの方法で、 GetComponent()。sprite.bounds.sizeを使用して、GetComponent ()。bounds.sizeを取得し、スプライト境界からboxcolliderの新しい境界を作成します。方程式を半分にするか、ボックスの衝突範囲を上げる –