2014-01-30 49 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) 

这就是它,我希望这有助于。

相关问题