我有兩個Paddle
用SpriteRenderer
的呈現。他們附有BoxCollider
,他們完美地工作。但是,它們不能以不同的分辨率正確縮放。所以我轉而在畫布上使用Image
。它們完美地縮放。但是,我似乎無法使用Paddle
正確縮放BoxCollider
。我搜索了互聯網並找到了一些解決方案,但他們完全錯誤。這是我基於大部分我看到的結論:Scaling Box Collider to Image in Unity in Canvas
GetComponent<BoxCollider2D>().size = gameObject.GetComponent<RectTransform>().sizeDelta;
這根本不起作用。
這是我需要的圖片,以防萬一它不明確。
綠框是圖像中的正確的大小,但不是發生了什麼,這就是我需要的情況發生。
所以,基本上我需要一種方法來在BoxCollider2D
縮放到Image
在Canvas
大小。
這裏是Paddle
和Canvas
城管的形象(注:Paddle
有劇本,我就剪下來,因爲它沒有工作,反正):
還要注意:我需要對撞機的原因是我正在檢查兩個GameObjects,球和槳之間的碰撞。這是Pong。
不要在UI元素上使用碰撞器。如果您想單擊UI元素,請使用Button組件。 –
我不確定,但我認爲它可以幫助,你有精靈渲染和boxcollider2D精靈在一個對象上,你希望boxcollider2D以某種方式進行縮放,作爲分辨率改變你的精靈變化,獲得大小使用GetComponent()。sprite.bounds.size並類似地獲取GetComponent ()。bounds.size,並從sprite邊界爲boxcollider創建一個新的邊界。將等式減半或增加你的盒子對撞邊界 –