2014-04-09 72 views

回答

0

您可以通過將屏幕垂直和水平視爲範圍0到1f來實現此目的。不管屏幕分辨率如何,您都可以指定偏移量。因此,舉例來說,如果你想有玩家在一個水平的1/3的屏幕尺寸偏差,你可以很容易地計算由偏移距依賴的解決方案:

float offsetLeft = Screen.width * 0.33f; // 33% from left border 

現在你有一個像素偏移,你可以用它來定位玩家。無論使用什麼分辨率,屏幕左邊的邊界總是33%。

因此,例如,如果屏幕分辨率是1920×1200然後offsetLeft將634px在這種情況下,同時具有1280×1024的分辨率時,將計算出422px。

+0

謝謝你的回答。我會試試這個。但我怎樣才能將屏幕設置爲0到1f的範圍? – Abhilash

+0

你只在你的計算中做到這一點。所有的遊戲邏輯都可以在0..1範圍內指定偏移量。然後,您可以使用一組簡單的函數來計算實際像素(取決於實際分辨率)。 –

+0

使用UnityEngine;使用System.Collections的 ; public class ScreenSetup:MonoBehaviour {0} {0} {0} {效果} {0} float offsetLeft; \t float offsetRight; \t Vector3 pos; \t轉換播放器; (){ \t void Awake(){ \t \t GameObject player_go = GameObject.FindGameObjectWithTag(「Player」); \t \t player = player_go.transform; \t \t offsetLeft = Screen.width * .0059f; \t \t offsetRight = Screen.height * .01f; \t \t pos = player.transform.position; \t \t pos.x = offsetLeft; \t \t pos.y = offsetRight; \t \t player.transform.position = pos; \t} – Abhilash