繁体   English   中英

Unity 播放器控制器脚本不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM