我正在制作一款游戏,该游戏具有闪光灯的电池寿命功能。基本上,当闪光灯打开时,它会缩短寿命,当它关闭时,它会停止。
但是要实现这一点,我需要访问一个变量,该变量将决定闪光灯是否打开或关闭。
var UTWeap_FlashLight light; // declaring a new variable from the class UTWeap_FlashLight.uc
// reduces battery life of the flash light
exec function ReducePower()
{
if(light.bCheck==true)
{
if(0<power) // loops till power 1 is = 0
{
power--; // reduce the value of power
if(power==0) // if it equals 0
{
power2 = power2 - 1; // set power2 to it's own value - 1
power=100; // reset power back to 100
}
}
}
}
但是每当我编译代码时,它告诉我它找不到变量bCheck,这意味着我无法检查闪光灯是否亮着。我想从这个类中调用这个变量
UTWeap_FlashLight.uc
exec function TurnOff()
{
if(!Flashlight.LightComponent.bEnabled)
{
Flashlight.LightComponent.SetEnabled(true);
bCheck = true;
}
else
{
Flashlight.LightComponent.SetEnabled(false);
}
}
这部分代码是我打开/关闭闪光灯的地方。当我打开它时,我想将bCheck设置为1,这样我就可以稍后使用它作为检测闪光灯是否打开的条件。但是我不能使用这个变量,它不会改变它的值。后来我发现你不能使用其他类的变量,这是相当愚蠢的。
嗯,我弄清楚了如何在虚幻脚本中使用其他类的变量。
如果你想知道如何做同样的事情,使用这个:
class'<yourclassname>'.default.<yourvariablename>; // remove the < >