2014-01-30 3 views
0

Я делаю некоторые платформеры тесты 2D, и хочет, чтобы выяснить, как я хотел бы сделать камеру двигаться вверх, когда проходило вверх по оси, пока ее float = 1Как сделать камеру двигаться вверх

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

} 

I Прямо здесь.

+1

Если вы используете XNA или некоторые другие рамки, пожалуйста, отметьте вопрос соответствующим образом. C# используется не только для игр. –

+0

Я использую Unity & MonoDevelop. – user3026440

+0

... «Пожалуйста, отметьте вопрос соответствующим образом». Я сделал это для вас. –

ответ

0

Камера прикреплена к 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); 
} 

{код не тестировался}, но должен работать, если до нажатия кнопки она должна расти в направлении 1 с 0.001 увеличения на кадр, пока не доберется до 1, и, когда его он снова опустится с 0.001 уменьшением pr-кадра, но вы всегда можете добавить временную переменную, поэтому она будет работать гладко, например, с помощью 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 вы канд изменить строку:

if (verticalAxis > 0 && verticalAxis < 1) 

к

if (verticalAxis == 1) 

, если вы хотите, чтобы переместить его, как только его выше 0 вы можете изменить его на:

if (verticalAxis > 0) 

И, конечно, я надеюсь, что это помогло.

Смежные вопросы