Chciałbym poprzedzić tę ścianę tekstu, mówiąc: jestem bardzo nowy w tym. Może brakuje mi czegoś oczywistego.Czcionki osadzone nie pojawiające się w tekstowych skryptach actionscripts
Pracuję w Flash CS5 przy użyciu ActionScript 3. Próbuję użyć actionscript do utworzenia pola tekstowego i zapełnienia go tekstem. Wstawiłem czcionkę do mojego projektu za pomocą okna "Osadzanie czcionek". Jednak po uruchomieniu kodu do utworzenia pola tekstowego, jeśli "embedFont = true;", czcionka jest niewidoczna. Kursor wciąż zmienia się po najechaniu na niego, więc wiem, że tam jest. A przynajmniej jego pole tekstowe jest, jak sądzę. Nie ma to wpływu na dynamiczne pola tekstowe z osadzonym tekstem, które już są na scenie.
Próbowałem zmienić format konspektu osadzonych czcionek, ani działać. Próbowałem bezpośrednio osadzić czcionkę za pomocą znacznika "embed" za pomocą actionscript, ale nie działa z CS5 lub nie wiem, co robię. Jak widać w dostarczonym kodzie, próbowałem "zarejestrować" czcionkę, bez powodzenia. Próbowałem użyć:
var font:Font = new screenfont(); //"screenfont" is the name from Embedding Fonts
var format:TextFormat = new TextFormat();
format.font = screenfont.fontName;
Bez kostki.
Podążyłem za różnymi samouczkami dotyczącymi osadzania i natrafiłem na mnóstwo sprzecznych, mylących informacji. Czytałem kilka różnych tematów dotyczących tego tematu, ale nie znalazłem jeszcze żadnych realistycznych rozwiązań.
Oto prosty wersja mojego kodu, gdzie „screenfont” to nazwa I określony w oknie Osadzanie czcionek:
Font.registerFont(screenfont);
//TextFormat
var listformat:TextFormat = new TextFormat();
listformat.align = TextFormatAlign.LEFT;
listformat.size = 20.8;
listformat.color = 0x0DAC54;
listformat.font="Fixedsys Excelsior 3.01";
//TextField
var photolist:TextField = new TextField();
photolist.x = photos_x;
photolist.y = tempY;
photolist.width = photos_wdth;
photolist.height = photos_hght;
photolist.text = photoname;
photolist.embedFonts = true; //<--- This freakin' guy!
photolist.antiAliasType = AntiAliasType.ADVANCED;
photolist.defaultTextFormat=listformat;
photolist.selectable = false;
photolist.wordWrap = true;
mediapage.photos.addChild(photolist);
Mam nadzieję, że ten zapewnia wyraźny obraz.
Czym dokładnie jest embedowanie w CS5?
Czy zadeklarowałeś wybraną czcionkę w bibliotece SWF? Jeśli tak, czy wybrałeś również glify do osadzenia? – ToddBFisher
Tak, i tak. Sprawdziłem również "eksport dla actionscript" i "eksportuj w ramce 1". – TeaCake
Nie ma nic złego w tym kodzie. Czy próbowałeś użyć innej czcionki? –