sto facendo un gioco, e vedo nel tutorial alcune persone che utilizzano classe Stage, e altri che utilizzano la classe Screen, ma non riesco a capire il diference.Differenza tra la fase libgdx e Screen
risposta
A Stage
detiene Actor
istanze e gli aggiornamenti/li anima e gestisce il rilevamento degli hit tra di loro. È la radice di scene2d "scene graph" API. Lo stage è uno modo di gestire l'elenco di oggetti per disegnare, il loro stato sullo schermo (texture, stato di animazione, dimensioni, ecc), e le loro interazioni con l'utente. Il codice di fase fornito nel Libgdx è per lo più orientata verso elementi dell'interfaccia utente come pulsanti e le liste, ma il nucleo è sufficientemente flessibile per contenere elementi di gioco anche.
Un Screen
rappresenta generalmente un'interfaccia utente full-screen "pagina". Ad esempio, potresti avere una schermata "Menu principale", una schermata "Opzioni", una schermata "gioco principale" e una schermata "crediti finali". I Screen
istanze vengono generalmente gestiti da un'istanza Game
. Se utilizzato con un Game
gli oggetti Screen
riceverà gli eventi del ciclo di vita Libgdx standard, come callback (pause
, resume
, resize
, render
, ecc).
Non ci sono rapporti concreti tra Stage
e Screen
in Libgdx. Ma è più facile pensare ad un esempio in cui la schermata "menu principale" è implementata da uno stage che gestisce i pulsanti nel menu principale. Quando l'utente preme uno dei tasti, il gioco potrebbe passare alla schermata di gioco principale, e rilasciare alcune delle risorse detenute dal menu principale. La schermata di gioco potrebbe utilizzare uno Stage
o utilizzare OpenGL non elaborata per implementare il gioco.