【发布时间】:2015-12-24 07:17:52
【问题描述】:
我的 playstate.cs 中有这个界面按钮:
HydroElectric.t1Bool = GUI.Toggle (new Rect (25, 55, 100, 50), HydroElectric.t1Bool, "Turbina 2 MW");
HydroElectric.t2Bool = GUI.Toggle (new Rect (25, 95, 100, 50), HydroElectric.t2Bool, "Turbina 3 MW");
HydroElectric.t3Bool = GUI.Toggle (new Rect (25, 135, 100, 50), HydroElectric.t3Bool, "Turbina 1 MW");
还有这个盒子:
GUI.Box (new Rect (Screen.width - 100, 60, 80, 25), HydroElectric.prod.ToString ());
然后我有这个 HydroElectric.cs 脚本,如果验证条件以更改名为 prod 的 SUM 的值:
using UnityEngine;
namespace Assets.Code.PowerPlants
{
public class HydroElectric
{
public HydroElectric ()
{
bool t1Bool = true;
bool t2Bool = true;
bool t3Bool = false;
float prod = 0;
int turbina1;
int turbina2;
int turbina3;
}
public void HydroControlPanel (bool t1Bool, bool t2Bool, bool t3Bool, int turbina1, int turbina2, int turbina3, float prod)
{
if (t1Bool == true)
{
turbina1 = 2;
}
else
{
turbina1 =0;
}
if (t2Bool == true)
{
turbina2 = 3;
}
else
{
turbina2 =0;
}
if (t3Bool == true)
{
turbina3 = 1;
}
else
{
turbina3 =0;
}
prod = turbina1 + turbina2 + turbina3;
}
}
}
我想我必须通过创建一个新变量并在播放状态中使用 new 方法来初始化 Hydroelectric 类,并在 HydroControlPanel 方法中为变量 prod 创建一个返回值,但我无法理解这一点并将其与工具按钮结合起来。
点语法也不起作用,因为控制台说当前上下文中不存在 t1Bool 等。我不能将变量声明为静态,因为它们在我认为的构造函数中。
你知道我怎样才能完成这项工作吗?
【问题讨论】: