Показать сообщение отдельно
Старый 21.10.2007, 15:24
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Простой вариант из сложных Простой, потому что не учитывает вариант с разной высотой букв и выводит линию на одной высоте (в примере -6). Если этого достаточно, то гуд, если же будут разные высоты, попробуем придумать более сложный вариант.
Для корректной работы примера нужно создать текстовое поле с вшитым шрифтом Times New Roman.
Код:
import flash.display.BitmapData;
function strike (mc:MovieClip, str:String):Void {
	var txt:TextField = mc.txt;
	var stru:String = str.split ("<u>").join ("");
	stru = stru.split ("</u>").join ("");
	stru = stru.split ("strike>").join ("u>");
	txt.htmlText = stru;
	txt.antiAliasType = "advanced";
	var bmp:BitmapData = new BitmapData (txt._width, txt._height, true, 0x0);
	bmp.draw (txt);
	mc.attachBitmap (bmp, 1);
	bmp.scroll (0, -6);
	txt.antiAliasType = "normal";
	txt.htmlText = str;
}
function createText (name:String, x:Number, y:Number):MovieClip {
	var mc:MovieClip = this.createEmptyMovieClip (name, this.getNextHighestDepth ());
	mc._x = x;
	mc._y = y;
	var txt:TextField = mc.createTextField ("txt", 0, 0, 0, 350, 200);
	var fmt:TextFormat = txt.getTextFormat ();
	fmt.size = 20;
	txt.setNewTextFormat (fmt);
	txt.embedFonts = true;
	txt.html = true;
	txt.wordWrap = true;
	txt.multiline = true;
	return mc;
}
var str:String = "Пример <strike>зачеркнутого</strike> текста. <u>Пример</u> <strike>зачеркнутого</strike> текста. Пример <strike>зачеркнутого</strike> текста.";
var mc1:MovieClip = createText ("mc1", 50, 50);
mc1.txt.htmlText = "Не работает:<br>" + str;
////
var mc2:MovieClip = createText ("mc2", 50, 300);
strike (mc2, "Работает:<br>" + str);
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 21.10.2007 в 15:30.