Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Оптимизация текста. Это реально? (http://www.flasher.ru/forum/showthread.php?t=95696)

ARTur2 11.05.2007 20:34

Оптимизация текста. Это реально?
 
Здравствуйте!
Дело в том, что у меня есть клип, в котором один из слоёв обычный текст и его очень много. Без текста всё работает просто отлично, а с текстом флешка начинает тормозить. Пробывал оптимизировать с помощью this.cacheAsBitmap = true, но помогает слабо... Вот и возник вопрос. Можно ли как-нибудь оптимизировать текст?

Aziz Zaynutdinoff 11.05.2007 20:45

просто перевести весь текст в картинку через
Код:

BitmapData.draw(src);
с последующим удалением исходного ресурса

ARTur2 11.05.2007 20:48

А можно подробнее? На слой этот код вешать или куда?

Kikasso 11.05.2007 20:52

Текст наружу, его грузить, и проблемы нет.
Если текста очень много, он превысит предел по габаритам.

ARTur2 11.05.2007 20:55

2 Kikasso я делаю карту, т.е. там текст разбросан по всему клипу и относительно горизонтали у отдельной надписи своё положение. Можно ли такой текст как-нибудь подгружать со строны?

Aziz Zaynutdinoff 11.05.2007 21:04

Любой текст можно грузить извне. Один из самых удобных способов из XML-файла.

ARTur2 11.05.2007 21:08

Допустим у меня улица проходит относительно вертикали под 45 градусов. Надпись, обозначающая улицу соответственно тоже должна быть под 45 градусов относительно вертикали. Это реально сделать, в смысле через XML-файл задавать положение и угол наклона? И если этих улиц 200? Плюс ещё номера омов... Объясните, пожалуйста, как использовать BitmapData.draw(src);.

Aziz Zaynutdinoff 11.05.2007 21:21

Сошлюсь на пример из Help'а (поиск по ключевым BitmapData constructor), дам ссылку на помощь от iNils'а ну и в качестве бонуса минипример по использованию в вашем случае:
Код:

import flash.display.BitmapData;
//грузим XML и парсируем его.
//пишем функцию обработки полученных данных
//среди которых легко можно брать и угол поворота
//
//далее формирование текста:
var _tmp_mc:MovieClip = this.createEmptyMovieClip("_tmp_mc", this.getNextHighestDepth());
var _tmp_txt:TextField = _tmp_mc.createTextField("_tmp_txt", _tmp_mc.getNextHighestDepth(), 0, 0, 1, 1);
_tmp_txt.autoSize = true;
_tmp_txt.text = <НАЗВАНИЕ УЛИЦЫ>;
var _bmp:BitmapData = new BitmapData(_tmp_mc._width, _tmp_mc._height, true, 0xFFFFFF);
_bmp.draw(_tmp_mc);
_tmp_mc.removeMovieClip;
var street_mc:MovieClip = this.createEmptyMovieClip("street_mc", this.getNextHighestDepth());
street_mc.attachBitmap(_bmp);
street_mc._rotation = <УГОЛ ПОВОРОТА>;

Учебник по XML от Дембицкого. Будет полезно к изучению и пониманию основ XML

screamge 11.05.2007 21:24

В хелпе про это достаточно написанно, если английский хелп не устраивает ищите iNils - a, а точнее его подпись.

Цитата:

Надпись, обозначающая улицу соответственно тоже должна быть под 45 градусов относительно вертикали. Это реально сделать, в смысле через XML-файл задавать положение и угол наклона?
А зечем создавать создавать поля, просто записывайте текст в созданные на карте.

Что касается BitmapData то он подходит вамтолько в том случае если надписи не функциональны, т.е. не должны нажиматся и т.д.

Aziz Zaynutdinoff 11.05.2007 21:28

ну про то, что они не будут нажиматься – это ты погорячился :) будут... как миленькие.

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


Часовой пояс GMT +4, время: 11:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.