如何在 Unity 中解决此问题“无法添加脚本,因为它是编辑器脚本。” 我想将此脚本从后处理中放入 Unity,但由于这个问题我不能
因此,当我的角色被敌人的火焰呼吸击中时,我想创造出被点燃的角色的感觉.因此,当角色着火时,我希望他在特定的时间内失去特定的健康状况.
例如; 让我说他已经着火3秒了,我想让他因为着火而失去30点生命值,我将如何均匀分配失去30点生命值3秒钟?我不希望30点伤害立即应用到健康状态,我希望它能够慢慢击退玩家的健康状况,以便在3秒内完成30点伤害.
游戏是用c#制作的.
谢谢.
游戏管理器
public class GameManager : MonoBehaviour
{
public static GameManager instance;
public SlingShot slingshot;
// Use this for initialization
void Start()
{
int character = PlayerPrefs.GetInt ("CharacterSelected", 0);
if(character==0)
{
slingshot = GameObject.Find ("slingshot");
}
}
Run Code Online (Sandbox Code Playgroud)
slingshot 是 SlingShot.cs 的一个实例,上面的代码我试图在用户从菜单中选择时动态设置我的弹弓。我找不到这有什么问题,但它给了我错误Assets/Scripts/GameManager.cs(50,28): error CS0029: Cannot implicitly convert typeUnityEngine.GameObject' toSlingShot'
这个你能帮我吗。谢谢
我一直在与 while 循环作斗争,因为它们几乎不适合我。它们总是导致我的 Unity3D 应用程序冻结,但在这种情况下,我真的需要它来工作:
bool gameOver = false;
bool spawned = false;
float timer = 4f;
void Update ()
{
while (!gameOver)
{
if (!spawned)
{
//Do something
}
else if (timer >= 2.0f)
{
//Do something else
}
else
{
timer += Time.deltaTime;
}
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望这些 if 语句在游戏运行时运行。现在它使程序崩溃,我知道这是 while 循环的问题,因为它在我取消注释的任何时候都会冻结。