Unity:Quad不重启位置
Unity: Quad does not restart postion
我有一个问题,我不确定如何解决。我有一个带有很长图像的四边形和一个脚本,可以使整个事物成为滚动背景。问题是当我的玩家死亡并且我重新开始游戏时,四边形不会从图像的开头开始,而是从死亡点继续。几次死亡后,我的玩家在空背景上生成,因为四边形图像早已完成。我试着在玩家死亡时摧毁它,它确实被摧毁了,但在重新启动后,它仍然记得 Quad 到达的最后位置。有什么想法可以解决这个问题吗?
滚动代码:
void Update () {
{
if (!timerReached)
{
timer += Time.deltaTime;
Vector2 offset = new Vector2(0, Time.time * speed);
GetComponent<Renderer>().material.mainTextureOffset = offset;
}
if (!timerReached && timer > TIMER_TIME)
{
timerReached = true;
}
}
}
您正在使用 Time.time
偏移纹理。这是自游戏开始以来的秒数,永远不会重置为零,但会一直增加。
相反,使用 timer
偏移你的纹理,你已经用 deltaTime
求和,当你死了时,将 timer
重置为零(我怀疑你已经这样做了) .
timer += Time.deltaTime;
Vector2 offset = new Vector2(0, timer * speed);
GetComponent<Renderer>().material.mainTextureOffset = offset;
我有一个问题,我不确定如何解决。我有一个带有很长图像的四边形和一个脚本,可以使整个事物成为滚动背景。问题是当我的玩家死亡并且我重新开始游戏时,四边形不会从图像的开头开始,而是从死亡点继续。几次死亡后,我的玩家在空背景上生成,因为四边形图像早已完成。我试着在玩家死亡时摧毁它,它确实被摧毁了,但在重新启动后,它仍然记得 Quad 到达的最后位置。有什么想法可以解决这个问题吗?
滚动代码:
void Update () {
{
if (!timerReached)
{
timer += Time.deltaTime;
Vector2 offset = new Vector2(0, Time.time * speed);
GetComponent<Renderer>().material.mainTextureOffset = offset;
}
if (!timerReached && timer > TIMER_TIME)
{
timerReached = true;
}
}
}
您正在使用 Time.time
偏移纹理。这是自游戏开始以来的秒数,永远不会重置为零,但会一直增加。
相反,使用 timer
偏移你的纹理,你已经用 deltaTime
求和,当你死了时,将 timer
重置为零(我怀疑你已经这样做了) .
timer += Time.deltaTime;
Vector2 offset = new Vector2(0, timer * speed);
GetComponent<Renderer>().material.mainTextureOffset = offset;