我正在做一些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
...“请相应标记问题。”我已经为你做了。 –