2010-09-02 8 views
5

Ok, ecco il mio problema. Ho ricevuto diversi SWF in runtime da diversi domini (stiamo usando un CDN). Ci sono alcuni tipi di carattere condivisi all'interno dei file SWF.URL RSL dinamici. È possibile?

Sto cercando di ridurre al minimo le dimensioni dei file il più possibile, quindi significa non incorporare i caratteri in nessuno di questi file SWF e impostare tutti i loro Formattivi di testo in fase di runtime. Questo è molto poco pratico, e sarebbe facile perdersi alcuni di loro.

L'altra opzione migliore consiste nell'utilizzare le librerie condivise di runtime per inserire i caratteri, ma che richiede un URL assoluto (va contro il concetto di utilizzo di un CDN) o un URL relativo (elimina lo scopo dell'utilizzo di RSL in primo luogo dal momento che tali risorse verrebbero scaricate più volte in ogni caso).

Idealmente mi piacerebbe essere in grado di dire a ogni SWF in fase di esecuzione in cui inserire i caratteri, e dare loro tutti lo stesso, URL dinamico.

Non riesco a trovare nessuno che abbia riscontrato una situazione simile, quindi non sono sicuro se questo può o non può essere fatto, ma la maggior parte dei problemi di AS3 che trovo sono risolti qui, quindi spero che qualcuno conosca un buona soluzione per questo.

Oppure c'è una terza opzione che non sto considerando?

risposta

0

sì, si dispone di tale opzione, leggere this

+0

Scusa, credo di non essere stato abbastanza chiaro riguardo al problema. A meno che non abbia frainteso quell'articolo, non è proprio quello di cui ho bisogno. I file SWF che devono avere i loro URL RSL impostati in fase di esecuzione vengono creati in Flash (gli artisti lo utilizzano per la GUI), non per il builder Flash. Inoltre, l'URL deve essere impostato in fase di esecuzione. Sarebbe diverso a seconda della posizione dell'utente, tra le altre cose. – Eoin

+0

@Eoin, hai posto una domanda molto grande, perché è molto importante per la piattaforma, quindi dovremmo esaminare il modo di riscrivere il caricatore di applicazioni con un RSL di base e definire tutte le altre RSL. Quindi, fai una ricerca approfondita in questo tipo di codice, mi unirò un po 'più tardi. Grazie. – Eugene

2

Abbiamo avuto questo problema esatto e, infine, si avvicinò con una soluzione. Non è carino ma funzionerà. L'idea di base è che quando carichi i file, ignori l'RSL e lo sostituisci con uno swf vuoto, e invece carichi manualmente il contenuto dell'RSL da uno swf dinamico.

ho postato su come abbiamo risolto qui: http://blog.bluemammothgames.com/2010/10/runtime-shared-libraries-preload-and.html

Se avete domande, non esitate a ping me qui o là. Per quanto ho capito, non c'è un modo pulito per farlo, ma questo hack funziona.