[英]Vector 3 Position on different Screen Size
因此,当我在游戏中使用向量3时,我希望向量3在不同屏幕尺寸的特定位置上会发生什么? 那可能吗? 这是我的密码
public virtual void ShuffleButton()
{
Vector3 buttonFirst = gameButtons[0].transform.position;
buttonFirst.x += 297f;
gameButtons[0].transform.position = buttonFirst;
Vector3 buttonSecond = gameButtons[1].transform.position;
buttonSecond.x -= 74.25f;
gameButtons[1].transform.position = buttonSecond;
Vector3 buttonThird = gameButtons[2].transform.position;
buttonThird.x += 74.25f;
gameButtons[2].transform.position = buttonThird;
Vector3 buttonFourth = gameButtons[3].transform.position;
buttonFourth.x -= 148.5f;
gameButtons[3].transform.position = buttonFourth;
Vector3 buttonFifth = gameButtons[4].transform.position;
buttonFifth.x -= 148.5f;
gameButtons[4].transform.position = buttonFifth;
}
您正在寻找位置转换功能,例如Camera.ScreenToWorldPoint()
。 这些可以在Unity Camera类文档中找到: https : //docs.unity3d.com/ScriptReference/Camera.html
例如,如果要将Sprite放置在左上角,而不考虑屏幕大小,则可以使用屏幕或视口空间。 必须将精灵的位置从此屏幕/视口空间转换为世界空间。 您可以Camera.ScreenToWorldPoint()
使用Camera.ScreenToWorldPoint()
。
但是,Unity使用三个视区:屏幕,世界和视口。 您应该仔细阅读这三个内容,因为您的问题源于您试图使用世界坐标(transform.position)来设置UI元素(使用屏幕或世界空间;这取决于父元素)的位置的事实。画布设置)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.