我目前正在做一個肖像遊戲,我正試圖實現類似遊戲塗鴉跳躍或激進遊戲的屏幕外移動邏輯。如何在屏幕右側離開遊戲對象時將其重新放置在屏幕左側?
如何將遊戲物體重新定位到屏幕的左側,而不依賴於屏幕大小/長寬比時,屏幕的右側和反之亦然?
這裏的代碼片段,我現在所擁有的:
void CheckBounds()
{
if (this.transform.position.x < -3.2f)
{
this.transform.position = new Vector3(3.2f, this.transform.position.y, this.transform.position.z);
}
if (this.transform.position.x > 3.2f)
{
this.transform.position = new Vector3(-3.2f, this.transform.position.y, this.transform.position.z);
}
}
void MovePlayer()
{
if (isFacingLeft)
{
this.transform.position -= new Vector3(speed * Time.deltaTime, 0, 0);
}
else
{
this.transform.position += new Vector3(speed * Time.deltaTime, 0, 0);
}
}
現在這個工作,但它是一個骯髒的解決方案。正如你所看到的,當物體離開屏幕的+/- 3.2f時,我硬編碼了邊界。
這對16:9寬高比設備完美適用,但不適用於其他寬高比設備。
如何檢測屏幕邊緣以使其工作,而不管屏幕寬高比如何?
謝謝
查看本教程,因爲它不使用屏幕邊界之外的任何對象來檢查其位置。 https://youtu.be/VAmlb913-jc – Savlon 2015-04-08 01:25:50