两个脚本附加了我的一个场景,在一个脚本中我使用方法调用重复调用它时,我的第二个附带按钮的脚本不起作用。
void Start()
{
currentImage = 0;
if (thread == null) {
thread = new Thread (new ThreadStart (CallChangeImage));
thread.IsBackground = true;
thread.Start ();
}
}
public void CallChangeImage()
{
InvokeRepeating("ChangeImage", 0.1f, frameRate);
}
private void ChangeImage()
{
if (currentImage == frames.Length - 1)
{
CancelInvoke("ChangeImage");
Destroy(explosion);
}
currentImage += 1;
explosion.sprite = frames[currentImage];
}
当我在其他线程中使用此 invokerepeating 时,它给出了错误,此方法仅在主线程中调用。 在调用这个场景之后,我没有回到任何其他场景,因为我的所有代码都会被卡住。 帮我解决这个问题!!
答案 0 :(得分:0)
这是在不使用线程的情况下执行此操作的正确方法
void Start()
{
currentImage = 0;
InvokeRepeating("ChangeImage", 0.1f, frameRate);
}
private void ChangeImage()
{
if (currentImage == frames.Length - 1)
{
CancelInvoke("ChangeImage");
Destroy(explosion);
}
currentImage += 1;
explosion.sprite = frames[currentImage];
}