![]() |
|
||||||||||
|
|||||
|
Допустим, пишем ‘123’ и разбиваться число должно как
Цитата:
var btn:MovieClip = this.createEmptyMovieClip("btn", 3); btn.beginFill(0xFF0000); btn.moveTo(10,10); btn.lineTo(100,10); btn.lineTo(100,30); btn.lineTo(0,30); btn.lineTo(0,10); btn.endFill(); btn._y = 35; btn._x = 20; var pole_txt:TextField = btn.createTextField("pole_txt", 4, 0, 5, 0, 0); pole_txt.autoSize = true; pole_txt.text = 'кнопка'; btn.onPress = substr_f; /////////////////// var txt:TextField = this.createTextField("my_txt", 998, 20, 20, 100, 20); txt.type = "input"; txt.border = true; function substr_f() { txt_len = txt.length; for (var i:Number = 0; i<txt_len; i++) { var mySubstring:String = my_txt.text.substr(i); trace(mySubstring); } } Цитата:
|
|
|||||
|
может так попробывать?
|
|
|||||
|
Зачем вам substr - Возвращает подстроку из символов, начинающихся с заданного элемента startIndex. Длина этой строки определяется параметром len.
Просто my_txt.text(i)
__________________
2+2=5 |
|
|||||
|
сам на днях делал точно такое же, проблем почему то не возникло(
//////////////-------------- Функция заполнения --------------////////////// function fillClip(hmc:MovieClip, str:String):Void { var strArr:Array = str.split(''); var total:Number = strArr.length; var offset:Number = 0; for(var i:Number = 0; i < total; i++) { var mc:MovieClip = hmc.createEmptyMovieClip('mc' + i, hmc.getNextHighestDepth()); var mcFTM:TextFormat = new TextFormat(); mcFTM.size = 16; mcFTM.bold = true; mcFTM.color = 0x999999; mcFTM.font = "Trebuchet"; // это линкеджй встроенного шрифта var mcTF:TextField = mc.createTextField('mcTF', 0, 0, 0, 10, 10); mcTF.selectable = false; mcTF.text = strArr[i]; mcTF.autoSize = true; mcTF.embedFonts = true; // внимание, юзаю встроенный шрифт! mcTF.setTextFormat(mcFTM); mc._x = offset; offset += (mc._width + 2); } } var str:String = 'I know, what you were doing last summer...'; var hmc:MovieClip = this.createEmptyMovieClip('hmc', 0); fillClip(hmc, str); hmc._x = (Stage.width - hmc._width) / 2; hmc._y = (Stage.height - hmc._height) / 2; |
|
|||||
|
Регистрация: Jan 2007
Сообщений: 91
|
|
|
|||||
|
Действительно..и в хелпе информации достаточно..что-то не сообразил сразу.
Спасибо всем за внимание. |
|
|||||
|
... извиняюсь, ерунду написал, метод с масисвов более быстр:
function sliceStr(str:String):Void { var strLength:Number = str.length; for (var i:Number = 0; i < strLength; i++) { var curLetter:String = str.slice(i, (i + 1)); } } function subStr(str:String):Void { var strLength:Number = str.length; for (var i:Number = 0; i < strLength; i++) { var curLetter:String = str.substring(i, (i + 1)); } } function splitStr(str:String):Void { var strArr:Array = str.split(''); var strLength:Number = strArr.length; for (var i:Number = 0; i < strLength; i++) { var curLetter:String = strArr[i]; } } var count:Number = 1000; t = getTimer(); for(var i:Number = 0; i < count; i++) { sliceStr('I know, what you were doing last summer...'); } trace(getTimer() - t); t = getTimer(); // 185 for(var i:Number = 0; i < count; i++) { subStr('I know, what you were doing last summer...'); } trace(getTimer() - t); // 189 t = getTimer(); for(var i:Number = 0; i < count; i++) { splitStr('I know, what you were doing last summer...'); } trace(getTimer() - t); // 76 Последний раз редактировалось nOobCrafter; 25.06.2009 в 13:38. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|