具有不同分辨率的物理函数(Unity)



我有我的脚本:

  1. Collider2D[] hitColliders = Physics2D.OverlapCircleAll(vector 2 pos, float radius);

我需要从半径为屏幕宽度一半的点(pos)获取所有碰撞体,具有不同的屏幕分辨率。如何为这个函数提供这些参数(pos 和半径)?

  1. playerObject.GetComponent<Rigidbody2D> ().AddForce (new Vector2 (direction.x * powerMultipl,direction.y * powerMultipl), ForceMode2D.Impulse);

同样的事情!我想根据屏幕分辨率调整我的力量!

我所需要的只是我的游戏在不同屏幕分辨率的设备上以相同的方式玩!谢谢你帮我!

始终注意屏幕空间和世界空间 Physics2D.OverlapCircleAll() 函数采用与世界空间(笛卡尔坐标)相关的所有参数,因此首先使用

Camera.main.ScreenToWorldPoint(ScreenCoordinate) // returns a vector3

您还必须将屏幕宽度转换为世界单位,请在下面检查

http://answers.unity3d.com/questions/736142/what-is-good-practice-to-set-pixels-to-units-to-an.html

最新更新