[英]Unity player controller script is not working
我正在尝试制作一个有玩家的游戏,一旦你点击他就可以控制他。 如果你再次点击他,你就不能再控制他了,但它不起作用。
C#:
{
private float verticalInput;
private float horizontalInput;
private float speed = 20f;
private Vector3 movement;
private bool mouseClicked = false;
// Update is called once per frame.
void Update() {
verticalInput Input.GetAxisRaw("Vertical");
horizontalInput = Input.GetAxisRaw("Horizontal");
movement = new Vector3(verticalInput, o, -horizontalInput);
if (mouseClicked) {
transform. Translate (movement * speed * Time.deltaTime);
}
}
void OnMouseDown() {
if (mouseClicked = false) {
mouseClicked = true;
} else if (mouseClicked) {
mouseClicked =false;
}
}
if 语句的条件是错误的。 你忘了再添加一个=
。
将if(mouseClicked = false)
更改为if(mouseClicked == false)
应该可以工作。 对于错误的代码, mouseClicked
永远不会改变,因为mouseClicked = false
false
在 if 条件下总是被评估为false
。
您不需要编写这个多余的 if-else。 只需这样做:
mouseClicked = !mouseClicked;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.