in4core
22.01.2012, 01:51
Привет всем! Задача следующая :
рассматриваем стандартный декодер текста ( печатающая машинка ) без рандома, тоесть просто добавление по 1 букве через интервал в текстовое поле. Но вот проблема, как бороться с \n и html тегами , а именно font-color.
В голову пришла такая идея. Заменяем \n например на charAt(0), через split.join , после чего добавляя по одной букве и в проверке натыкаясь на символ (0) добавляем ( или заменяем ) newline. С цветом немного сложнее, но смысл тот же, нам совершенно не нужна закрывающая тега </font> , нам достаточно перехватить только открывающуюся и посчитать кол-во символов. Думаю как то так :
str.split('someWord').join(charAt(1) + 'someWord');
//...
if( symbols[index] == charAt(1) ) tempStr = '<font color =...>';
//
showStr = tempStr + symbols[index];
if(symbols[index] == ' ') field.htmlText = showStr + '</font>';
Но мне кажется, что это супер велосипедный-велосипед, и наверняка есть лучше реализации!
Есть мнение, что можно покопать в сторону TLFTextfield, но никогда с ним не работал, и возможно он тут и не причем будет.
Жду ваших советов
рассматриваем стандартный декодер текста ( печатающая машинка ) без рандома, тоесть просто добавление по 1 букве через интервал в текстовое поле. Но вот проблема, как бороться с \n и html тегами , а именно font-color.
В голову пришла такая идея. Заменяем \n например на charAt(0), через split.join , после чего добавляя по одной букве и в проверке натыкаясь на символ (0) добавляем ( или заменяем ) newline. С цветом немного сложнее, но смысл тот же, нам совершенно не нужна закрывающая тега </font> , нам достаточно перехватить только открывающуюся и посчитать кол-во символов. Думаю как то так :
str.split('someWord').join(charAt(1) + 'someWord');
//...
if( symbols[index] == charAt(1) ) tempStr = '<font color =...>';
//
showStr = tempStr + symbols[index];
if(symbols[index] == ' ') field.htmlText = showStr + '</font>';
Но мне кажется, что это супер велосипедный-велосипед, и наверняка есть лучше реализации!
Есть мнение, что можно покопать в сторону TLFTextfield, но никогда с ним не работал, и возможно он тут и не причем будет.
Жду ваших советов