2014-01-30 72 views
0

我正在做一些2D平臺遊戲測試,想弄清楚我會怎樣使相機向上移動向上軸舉行,屆時,直到其float = 1如何使相機向上移動

float Look = (Input.GetAxis("VerticalAxis")); 
print(Look); 
if (Look >0) 
{ 

} 

我我在這裏停住了。

+1

如果您使用XNA或其他框架,請相應標記問題。 C#不僅僅用於遊戲。 –

+0

我正在使用Unity&MonoDevelop。 – user3026440

+0

...「請相應標記問題。」我已經爲你做了。 –

回答

0

相機連接到GameObject,該GameObject具有Transform,該物體是該物體的物理表示的一部分,幷包含該物體的位置,旋轉和比例。 所以,如果你想移動攝像機,只是改變的位置及其變換,像這樣:

Camera.current.transform.position = someVector3; 

Camera.current是一個「捷徑」的主攝像頭。

1

這是否幫助:

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或類似的東西。

0

如果您希望相機移動,直到縱軸是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) 

這就是它,我希望這有助於。

相關問題