【发布时间】:2022-11-25 05:38:37
【问题描述】:
我在 Unity 中创建一个 2D,我有一个加载屏幕,它正在工作(加载动画)。接下来我要做的是让下一个屏幕在一定时间后出现(它是一个游戏对象)。 现在,我的代码是:
public RectTransform mainIcon;
public float timeStep;
public float oneStepAngle;
float startTime;
// Start is called before the first frame update
void Start()
{
startTime = Time.time;
}
// Update is called once per frame
void Update()
{
if (Time.time - startTime >= timeStep) {
Vector3 iconAngle = mainIcon.localEulerAngles;
iconAngle.z += oneStepAngle;
mainIcon.localEulerAngles = iconAngle;
startTime = Time.time;
}
}
我现在该怎么办?谢谢
【问题讨论】:
-
if(Time.time >= certain value){ Go to next scene }? -
这可能是一个选择,是的!你认为它适用于游戏对象吗?
-
当然......我需要更多地了解你实际完成所需的行为......我认为使用一个简单的协同程序将你的图标旋转所需的时间量,然后在完成后简单地转到下一个场景可能是最简单的。 ..
-
好吧,我想要实现的是:我在加载轮出现的地方创建了一个叠加层。一段时间后,我想前进到层次结构中的下一个叠加层希望我很清楚:)
-
所以只是为了确认:没有实际加载发生,你只是想添加一个人为延迟?是否需要逐步旋转,或者为什么不简单地使用
void Update(){ mainIcon.Rotate(Vector3.forward, anglePerSecond * Time.deltaTime); }..只是想缩小after an animation对你的意义,因为实际上你的动画完成时似乎没有固定的时刻