我正在进行一些2D平台测试,想要弄清楚当向上轴保持时相机如何向上移动,直到它float = 1
float Look = (Input.GetAxis("VerticalAxis"));
print(Look);
if (Look >0 )
{
}
我被困在这里。
答案 0 :(得分: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帧,但你总是可以添加一个时间变量,所以它会顺利运行,比如使用Look + = Time.deltaTime / 0.1或类似的东西。
答案 1 :(得分:0)
相机附加到GameObject
,其Transform
是该对象物理表示的一部分,包含对象的位置,旋转和比例。
因此,如果您想移动相机,只需更改其变换的位置,如下所示:
Camera.current.transform.position = someVector3;
Camera.current
是主摄像头的“快捷方式”。
答案 2 :(得分:0)
如果您希望相机向上移动直到垂直轴为1,您可以执行以下操作:
将此脚本添加到相机:
public float speed;
void Update()
{
float verticalAxis = Input.GetAxis("Vertical");
if (verticalAxis > 0 && verticalAxis < 1)
{
transform.Translate(Vector3.up * Time.deltaTime * speed);
}
}
如果您希望相机移动得更快,可以在检查器中替换公共变量“speed”(请记住将其设置为至少高于0的数字,否则相机不会移动)。
如果您希望在垂直轴为1时向上移动相机,则可以更改线条:
if (verticalAxis > 0 && verticalAxis < 1)
到
if (verticalAxis == 1)
如果您希望在高于0时移动它,可以将其更改为:
if (verticalAxis > 0)
就是这样,我希望这会有所帮助。