2010-09-02 23 views
5

Ok, więc oto mój problem. Mam kilka plików SWF ściągniętych w czasie wykonywania z różnych domen (używamy CDN). W plikach SWF istnieje kilka wspólnych czcionek.Dynamiczne adresy URL RSL. Czy to możliwe?

Staram się minimalizować rozmiary plików tak bardzo, jak to możliwe, więc oznacza to, że nie można osadzać czcionek w żadnym z plików SWF i ustawiać ich TextFormats w czasie wykonywania. To bardzo niepraktyczne i łatwo byłoby je ominąć.

Drugi, lepszym rozwiązaniem jest użycie biblioteki uruchomieniowe wspólne ciągnąć w czcionek, ale to wymaga albo bezwzględny adres URL (sprzeczne z koncepcją wykorzystania CDN) lub względny adres URL (celowość korzystania z bibliotek RSL w kodzie w pierwszej kolejności, ponieważ i tak te zasoby byłyby wielokrotnie pobierane).

Idealnie chciałbym móc powiedzieć każdemu SWF w środowisku uruchomieniowym, gdzie można pobrać czcionki i nadać im taki sam dynamiczny adres URL.

Nie mogę znaleźć nikogo, kto spotkałby się z podobną sytuacją, więc nie jestem pewien, czy to możliwe, czy nie, ale większość problemów związanych z AS3, które tu znalazłem, zostało rozwiązanych, więc mam nadzieję, że ktoś zna dobre rozwiązanie tego.

Czy istnieje trzecia opcja, której nie rozważam?

Odpowiedz

0

tak, masz taką opcję, przeczytaj this

+0

Przepraszam, chyba nie byłem wystarczająco jasny na temat problemu. O ile nie zrozumiałem tego artykułu, to nie jest to, czego potrzebuję. Pliki SWF, które muszą mieć ustawione adresy URL RSL w środowisku wykonawczym, są tworzone w pamięci flash (artyści używają tego dla GUI), a nie jako Flash Builder. Ponadto adres URL musi być ustawiony w środowisku wykonawczym. Byłoby to inne, w zależności od lokalizacji użytkownika, między innymi. – Eoin

+0

@Eoin, zadałeś bardzo dobre pytanie, ponieważ jego bardzo ważne dla platformy jest dorastanie, więc powinniśmy przyjrzeć się sposobowi przepisywania programu ładującego z podstawowym RSL i definiowaniem wszystkich innych RSL-ów. Więc głębiej szukaj w tego rodzaju kodu, dołączę nieco później. dzięki. – Eugene

2

Mieliśmy dokładnie ten problem i wreszcie wymyślił rozwiązanie. Nie jest ładna, ale zadziała. Podstawową ideą jest to, że podczas przesyłania plików ignorujesz RSL i zastępujesz go pustym plikiem swf, a zamiast tego ręcznie ładujesz zawartość RSL z dynamicznego pliku SWF.

napisałem o tym, jak rozwiązać go tutaj: http://blog.bluemammothgames.com/2010/10/runtime-shared-libraries-preload-and.html

Jeśli masz jakieś pytania, nie krępuj się pingować mnie tu czy tam. O ile rozumiem, nie ma na to sposobu, ale ten hack działa.