diff --git a/Engine/Application/Application.c b/Engine/Application/Application.c index 4cb2100b..031c1344 100644 --- a/Engine/Application/Application.c +++ b/Engine/Application/Application.c @@ -74,10 +74,10 @@ static void Loop() float deltaSeconds = (float) ((now.tv_nsec - last.tv_nsec) * 0.000000001 + (now.tv_sec - last.tv_sec)); last = now; + APhysicsWorld->Update(deltaSeconds); + ATween ->Update(deltaSeconds); AScheduler ->Update(deltaSeconds); ACoroutine ->Update(deltaSeconds); - ATween ->Update(deltaSeconds); - APhysicsWorld->Update(deltaSeconds); AAudio ->Update(deltaSeconds); // root update diff --git a/Engine/Graphics/Draw/Drawable.h b/Engine/Graphics/Draw/Drawable.h index 15c3cd92..9a5c33d2 100644 --- a/Engine/Graphics/Draw/Drawable.h +++ b/Engine/Graphics/Draw/Drawable.h @@ -280,6 +280,9 @@ struct Drawable * Custom draw for preparing rendering data. * called by ADrawable's Draw, do not use any openGL command, * and can check any state change. + * + * if called in Scheduler or Coroutine may have draw order problem, + * because the draw oder common controlled by Component. */ void (*Draw) (Drawable* drawable);