我想在每次按下键时添加transform.position.z一个单位
void Update()
{
positionZ = transform.position.z + count; //The problem with this line is unity plus 'count' every frame, not once per key
if (Input.GetKeyDown(KeyCode.A)){
count++;
}
float step = speed * Time.deltaTime;
transform.position = Vector3.MoveTowards(transform.position, new Vector3(0,1,count), step);
}
这非常有效,向Z添加了一个单位,但我想从transform.position添加,所以如果我执行
transform.position = Vector3.MoveTowards(transform.position, new Vector3(0,1,positionZ), step);
这将加上每一帧,而不是每个关键帧加一次。我试着放
positionZ = transform.position.z + count;
在Update之外,但它不起作用。请帮忙,我是初学者Pd:我试过
count = transform.position.z;
count++;
但添加不正确。提前感谢
void Update()
{
if (Input.GetKeyDown(KeyCode.A)){
float speed = 1f;
transform.position += Vector3.forward * speed;
}
}
这里试试:(