尝试从另一个脚本获取变量时使用未分配的局部变量

时间:2018-10-27 02:42:22

标签: c# variables unity3d var

我正在尝试从脚本 MainCharacterVarsScript 中获取Float变量,我将在当前脚本中使用此Float。该变量称为 CharacterSpeed ,两个脚本都位于游戏对象 BaseCharacter 上。现在,我尝试将其重新制成此脚本中的新变量,这有一种向后的方式。这是我目前拥有的,只是我试图从其他脚本中获取组件。我在第15行(较长的行)上收到错误消息,告诉我我正在使用未分配的局部变量。

我想要的压缩版:

要将变量从一个脚本复制到另一个脚本

1)从MainCharacterVarsScript获取浮点型CharacterSpeed

2)在当前脚本中使其成为可用的浮动

3)两者都在游戏对象BaseCharacter上

感谢阅读和帮助

    public class MathQuiz {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String response = JOptionPane.showInputDialog(null,"How many problems would you like to solve?");
        int noOfTimes = Integer.parseInt(response); // answer from question
        String result= null;

        for (int counter = 0; counter < noOfTimes; counter++) {
            Random obj = new Random();
            int num1 = obj.nextInt(10);
            int num2 = obj.nextInt(10);
            int rand = num1 + num2;

            int answer = Integer.parseInt(JOptionPane.showInputDialog(num1 + "+" +num2));
            if (answer == rand){
                result= "Correct";
            }else {
                result= "Incorrect";
            }

            JOptionPane.showMessageDialog(null, result);
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class MainCharacterMove : MonoBehaviour
{    
    float MoveSpeed = 0f;

    // Use this for initialization
    void Start()
    {
        GameObject BaseCharacter = GameObject.Find("BaseCharacter");
        MainCharacterVarsScript mainCharacterVarsScript = mainCharacterVarsScript.GetComponent<MainCharacterVarsScript>();
        MoveSpeed = mainCharacterVarsScript.CharacterSpeed;
    }

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

    }
}