为了账号安全,请及时绑定邮箱和手机立即绑定

大括号在 C# Unity 中无法正常工作

大括号在 C# Unity 中无法正常工作

C#
斯蒂芬大帝 2022-12-24 12:41:24
我正在制作一个统一游戏,然后我脚本中的花括号变得愚蠢。他们都搞砸了,我不知道我做错了什么。这是我的脚本: ps:我正在使用 visual studiousing System.Collections;using System.Collections.Generic;using UnityEngine;public class MoveSript : MonoBehaviour {    public GameObject myObject;    // Use this for initialization    private Vector3 direction = new Vector3(0, 0, 0);    // Update is called once per frame    private float speed = 40f;    void Start() { // error here? --> "} expected"        private Camera cam = Camera.main;        private float height = 2f * cam.orthographicSize;        private float width = height * cam.aspect;    } // i close it here, but it closes the mono beh. class instead?    void Update () {        int y = 0;        int x = 0;        if (Input.GetKey("up"))        {            y = 1;        }        if (Input.GetKey("down"))        {            y = -1;        }        if (Input.GetKey("right"))        {            x = 1;        }        if (Input.GetKey("left"))        {            x = -1;        }        direction = new Vector3(x, y, 0);        myObject.transform.position += direction.normalized*speed*Time.deltaTime;    }}我究竟做错了什么?感谢您的提前!
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您不能在方法内部定义的局部变量中定义可访问性。它应该是


private void Start() 

{

    var cam = Camera.main;

    var height = 2f * cam.orthographicSize;

    var width = height * cam.aspect;


    // Makes only sense if you now use the width

    // and/or other values for something

}

或者在类级别定义它们(例如,稍后也可以在其他方法中访问它们),例如


private Camera cam;

private float height;

private float width;


private void Start() 

{

    cam = Camera.main;

    height = 2f * cam.orthographicSize;

    width = height * cam.aspect;

}


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 49 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信