PDA

Просмотр полной версии : Уровни плэйера или хитрый TextFormat?


дядя Джо
21.04.2006, 10:18
Здравствуйте товарищи. Вот интересно мне что за фокусы происходят внутри этого самого флэша. Сделал я значит файл swf, а в нем текстовое поле с встроенным шрифтом. Снял я с этого поля TextFormat и создав новое поле присвоил ему этот TextFormat. Все замечательно. Но вот, чтобы было удобнее решил я файл со шрифтом подгружать в основной фильм и брать из подгружаемого файла все тот же TextFormat, но вот беда никак этот TextFormat не применить к полю, причем трейс пказывает что этот TextFormat существует на _level0, собственно куда я его и засандалил, но вот пытаясь применить его в главном фильме, я вижу, что текст исчезает:( , а применив TextFormat в пределах подгружаемого фильма все замечательно! Так вот может хто проведет для меня разъяснительную работу по поводу моих заблуждений? Для наглядности прилагаю исходный код.

дядя Джо
22.04.2006, 14:05
Проблему решил, последовав примеру (http://sharedfonts.com/ru/index.html), то есть зашарив клип с текстовым полем, но фокусы с уровнями и TextFormat остались для меня загадочными, был бы благодарен если бы нашлись на этом форуме умные люди, которые смогли бы мне разъяснить суть проблемы!:umnik2:

Nox Noctis
22.04.2006, 14:36
как ты думаешь, почему Ив умудрился сделать _коммерческий_ продукт на механизме подгрузки шарных шрифтов? :)

дело в том, что во флэше нельзя переносить символы одного ролика на сцену другого. это касается как клипов так и шрифтов. не достаточно просто подгрузить другой ролик со шрифтом, чтобы использовать тот же шрифт в каком-то другом ролике.

Ив нашел способ подгружать шрифты так, что они работают в других подгруженных роликах. но объяснять этот метод тут я не буду, как-то не по-комсомольски это... бери SFM Ива и пользуйся. :)

дядя Джо
22.04.2006, 15:00
Спасибо товарищ, за внимание к моему вопросу, я так понял, что TextFormat является собственностью подгужаемого ролика, и подгружаемый ролик не хочет делиться своими символами с фильмом хозяином. Но ведь если заранее поместить эту собственность в клип хозяин, и сделать Import for runtime sharing из этого ролика, то получается как бы то же самое, как только в клипе хозяине встречается такой клип, он автоматически подгружает этот жадный клип, и все-таки использует его символы. Или не так?

Nox Noctis
22.04.2006, 15:09
Спасибо товарищ, за внимание к моему вопросу, я так понял, что TextFormat является собственностью подгужаемого роликаэто тут вообще не при чем.
где ты создал объект TextFormat - совершенно не важно, можешь хоть для него специально отдельный ролик подгружать. :)

важно только то, где находится ШРИФТ и может ли ролик пользоваться этим ШРИФТОМ так, как будто он был включен в него самого. при простой подгрузке через loadMovie - никто кроме самого ролика не модет пользоваться встроенным в него шрифтом (да и чем угодно дургим тоже не может :) ).

посмотри внимательно, что именно сделано у Ива, если хочешь понять, как это у него всё заработало.

дядя Джо
22.04.2006, 15:25
Так вот я и посмотрел, и понял что все основано на runtime sharing, сделал так и все получилось. Но может я что-то упустил или не так понял. Там в исходнике встретился непонятный для меня bytecode:(

Nox Noctis
22.04.2006, 15:29
сделал так и все получилось
так что еще тебе нужно-то? :)

непонятный для меня bytecode:(ну собственно так Ив защитил свою прогу от нелицензионного копирования. :)

но для того, чтобы общий механизм понять, не обязательно разбирать что же там за код.

дядя Джо
22.04.2006, 15:36
так что еще тебе нужно-то? :)Да собственно теперь уже ничего, спасибо еще раз товарищ, за разъяснительную работу по поводу собственнических отношений между swf роликами, надеюсь что в будущем они будут коммунистическими, и каждый библиотечный символ любого ролика станет общим!:drinks: