Così oggi ho deciso di iniziare a testare il mio gioco su El Capitan e iOS 9. Questo è un grande progetto su cui ho lavorato nel mio tempo libero da quasi 2 anni. Quindi porto il mio codice su Swift 2.0, faccio clic sul pulsante Esegui e prego che Apple non abbia rotto Sprite Kit (come hanno fatto in passato: one, two, three, four e non riesco nemmeno a farmi iniziare sulla forma nodo...). Quindi il mio gioco si avvia, e cosa sai - tutti i miei nodi sono posizionati male, così come le mie trame animate. Alcuni altri piccoli bug, come il conteggio dell'estrazione, non vengono mostrati, ma quelli sono piccoli e si spera che vengano risolti.Major Xcode 7 Sprite Kit Atlas Bug
Così inizio il debug e alla fine sono in grado di scoprire che la maggior parte del problema è legata ai nodi nel mio atlanti che non sono posizionati correttamente. Così ho creato un progetto di esempio come mostrato sotto usando un solo nodo. Puoi vedere nell'immagine che ho impostato il punto di ancoraggio dei nodi su (0,0) e la posizione su (0,0). Anche il punto di ancoraggio della scena è (0,0). Ho stampato tutti questi valori per verificare che siano corretti.
Si può anche vedere che è disegnato in modo corretto nell'editor. Tuttavia quando lancio il gioco ricevo il seguente:
Si può vedere che il nodo è disegnato in modo non corretto. La sua posizione è (0,0) ma è disegnata come offset. E nessuna scena mia non è ridimensionata, corrisponde alla dimensione della vista ed è impostata su ResizeFill.
Ho riscontrato questo problema sia su El Capitan che su iOS 9. La cosa interessante è che il problema diventa più evidente più l'immagine contiene pixel trasparenti. Come puoi vedere dalla schermata dell'editor, la mia immagine contiene molti pixel trasparenti perché volevo mostrare chiaramente il bug. Se avessi usato meno pixel trasparenti, il nodo sarebbe stato meno sfalsato.
Se non si utilizza un atlante, il nodo viene disegnato correttamente come mostrato di seguito. Tuttavia, ovviamente, voglio usare atlanti in modo da poter eseguire il rendering in serie dei miei nodi.
ho presentato questo bug sul radar. Qualcuno ha trovato una soluzione a questo problema che non comporta l'utilizzo di atlanti?