我正在做一些2D平臺遊戲測試,想弄清楚我會怎樣使相機向上移動向上軸舉行,屆時,直到其float = 1
如何使相機向上移動
float Look = (Input.GetAxis("VerticalAxis"));
print(Look);
if (Look >0)
{
}
我我在這裏停住了。
我正在做一些2D平臺遊戲測試,想弄清楚我會怎樣使相機向上移動向上軸舉行,屆時,直到其float = 1
如何使相機向上移動
float Look = (Input.GetAxis("VerticalAxis"));
print(Look);
if (Look >0)
{
}
我我在這裏停住了。
相機連接到GameObject
,該GameObject
具有Transform
,該物體是該物體的物理表示的一部分,幷包含該物體的位置,旋轉和比例。 所以,如果你想移動攝像機,只是改變的位置及其變換,像這樣:
Camera.current.transform.position = someVector3;
Camera.current
是一個「捷徑」的主攝像頭。
這是否幫助:
float Look = 0.0f;
void Update() {
if(Input.GetAxis("VerticalAxis") > 0) {
if(Look < 1)
Look += 0.001f;
} else {
if(Look > 0)
Look -= 0.001f;
}
print(Look);
}
{代碼是未經測試},但應該工作,如果向上按鈕被按下,應該每幀0.001越靠近1增長,直到它到達1,而當其釋放它會再次降低0.001幀,但你總是可以添加一個時間變量,所以它會平穩運行,比如使用Look + = Time.deltaTime/0.1或類似的東西。
如果您希望相機移動,直到縱軸是1,你可以做到以下幾點:
添加這個腳本到您的相機:
public float speed;
void Update()
{
float verticalAxis = Input.GetAxis("Vertical");
if (verticalAxis > 0 && verticalAxis < 1)
{
transform.Translate(Vector3.up * Time.deltaTime * speed);
}
}
可以取代公共變量「如果您希望攝像機移動得更快(請記住將其設置爲至少高於0的數字,否則攝像機不會移動)。
如果您想將攝像機向上,一旦垂直軸爲1,則C和更改行:
if (verticalAxis > 0 && verticalAxis < 1)
到
if (verticalAxis == 1)
,如果你想把它移到一旦其高於0您可以將其更改爲:
if (verticalAxis > 0)
這就是它,我希望這有助於。
如果您使用XNA或其他框架,請相應標記問題。 C#不僅僅用於遊戲。 –
我正在使用Unity&MonoDevelop。 – user3026440
...「請相應標記問題。」我已經爲你做了。 –