Лебенсборн чыхыртма, православные.
Вот еще один базовый нуб-вопрос.
Читаю Мука. Пробую реализовать пример из главы Loading Fonts at Runtime.
Подход, насколько я понял, там следующий:
1. Создать вспомогательный файл с именем Fonts.fla, докУмент класс которого выглядит, например, так:
Код AS3:
package
{
import flash.display.*;
import flash.text.*;
public class Fonts extends Sprite
{
[Embed(source="c:/windows/fonts/verdana.ttf", fontFamily="Verdana")]
private var verdana:Class;
[Embed(source="c:/windows/fonts/verdanab.ttf", fontFamily="Verdana", fontWeight="bold")]
private var verdanaBold:Class;
// Constructor
public function Fonts()
{
// Register this class's embedded fonts in the global font list
Font.registerFont(verdana);
Font.registerFont(verdanaBold);
}
}
}
2.Создать основной файл, например RuntimeFont.fla, докУмент класс которого выглядит примерно так:
Код AS3:
package
{
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.net.*;
public class RuntimeFont extends Sprite
{
public function RuntimeFont()
{
// Load the .swf file that contains the embedded fonts
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
loader.load(new URLRequest("Fonts.swf"));
}
private function initListener (e:Event):void
{
// The font has loaded, so now display the formatted text
outputMsg();
}
private function outputMsg():void
{
// Create the text field
var t:TextField = new TextField();
t.embedFonts = true;
t.text = "And the First Ones shall awaken on that day" +
"\nWhen man will return to the stars!";
addChild(t);
}
}
}
3. В библиотеке этого основного файла создать New Font, указать любое имя, выбрать в списке, для данного случая шрифт Verdana.
Потом войти в Linkage Properties и поставить галочку Export for Action Script.
В результате появится неприятное предупреждение "A definition for this class could not be found in the classpath... ", но мы его тупо за-ОК-йиваем.
Ну вот и всё, походу дела.
Запускаю RuntimeFont и получаю вот такую ошибку:
Код:
TypeError: Error #2007: Parameter font must be non-null.
at flash.text::Font$/registerFont()
at Fonts$iinit()
Где прокол? В чем ошибка?
P.S. Если запустить отдельно Fonts.fla - то выдается та же ошибка, вероятно трабл в этом файле.
Однако там я ничего не менял (кроме более наглядного расположения кода), он взят прямо из книги.
Примечание: На всякий случай сообщу, что у меня Adobe Flash CS3 Professional (version 9.0).
Впрочем, примеры из книги должны быть универсальны для всех версий, наверное.