【问题标题】:unexpected symbol 'public' while creating float [closed]创建浮点数时出现意外符号“公共”[关闭]
【发布时间】:2017-01-18 19:44:34
【问题描述】:

我是 unity 新手,但每当我创建变量时都会出现错误。

它显示错误 cs1525:意外符号 'public'

这是我的脚本

using UnityEngine;
using System.Collections;

public class move : MonoBehaviour
{

    // Use this for initialization
    void Start ()
    {
        public float speed = 3.0f;
    }

    // Update is called once per frame
    void Update ()
    {

    }
}

【问题讨论】:

  • public 适用于班级成员。没有必要将它放在局部变量声明中,无论如何它都是不合法的。决定您希望speed 是类字段还是局部变量,并相应地声明它。

标签: c# error-handling symbols


【解决方案1】:

类成员应该在类块内定义,但在方法之外。

将所有“公共”行移到“void Start()”行上方。

【讨论】:

    【解决方案2】:

    正如 Flux 和 Peter 提到的,public 和 private 等访问修饰符只能应用于 类级别成员。这意味着与您的职能处于同一级别的成员。

    取决于你是想在这个类的任何地方使用速度变量还是只在一个函数中使用速度变量,这将决定你使用什么方法。

    现在,根据我在游戏编程方面的经验,速度是您希望作为类级别变量的东西,并且您也希望能够从其他对象访问该变量。

    所以我还要指出,您应该使用封装是有充分理由的。如果在某些时候您想更改速度变量的使用方式或计算方式,那么封装将允许您更改该“属性”的实现,而不必修改使用它的其他对象中的代码。

    例如

    public class move : MonoBehaviour
    {
        private float speed = 3.0f;
    
        public void SetSpeed(float newSpeed)
        {
            speed = newSpeed;
        }
    
        public float GetSpeed()
        {
            return speed;
        }
    
        // Use this for initialization
        void Start ()
        {
            ...
        }
    
        // Update is called once per frame
        void Update ()
        {
            ...
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      相关资源
      最近更新 更多