![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Никто не знает нет ли других способов по проверке вводимого текста? А то странно этот то работает то нет, только что работал, сейчас это же открываю не работает!
И кстати помоему у меня плохо работает оператор IF, так как если к предыдущему коду добавить вот так: package { import flash.events.Event; import flash.text.TextField; import flash.display.MovieClip; import flash.events.MouseEvent; public class test5 extends MovieClip { var a222:Boolean = false; public function test5() { mm.addEventListener(MouseEvent.CLICK,onon); } public function onon(e:MouseEvent):void { if (m1.text == "bbb") { trace("fdfdfdfdfdfd"); } else { a222 = true; trace("fdfd"); } } if (a222){ trace("dfdfd"); } } } |
|
|||||
|
[+1 16.07.13]
[+4 16.07.13] Регистрация: Oct 2005
Сообщений: 217
|
Я думаю , что происходит таким образом , что создается объект с именем name на сцене ,при этом компилятор запоминает как var name = объект, а когда мы создаем переменную в коде var name = new TextField(); , то просто заменяется значение переменной.И чтобы оставить возможность доступа к объекту на сцене просто нужно присвоить другой переменной до кода заменяющего значение переменной name.Разве не так?
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Немного не понял, можно кодом показать?
|
|
|||||
|
[+1 16.07.13]
[+4 16.07.13] Регистрация: Oct 2005
Сообщений: 217
|
mAK08
если вы хотите чтобы проверялся этот блок if (a222){ trace("dfdfd"); } то поставьте его перед блоком else , просто до него не доходит очередь проверки выполняется или if (m1.text == "bbb") если условие возвращает true или блок else |
|
|||||
|
Регистрация: Jun 2013
Сообщений: 133
|
А ещё, непосредственно перед проверкой - m1.text == "bbb", можно вывести значение m1.text, что бы понять что на самом деле там находиться и почему оно не равно "bbb".
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Вывожу через trace();
Там тоже самое что и я написал, но проверять не хочет!!! Лох это судьба наверное... package { import flash.events.Event; import flash.text.*; import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.TextEvent; public class test5 extends MovieClip { private static var a222:Boolean = false; private static var m3:TextField = new TextField(); //private var dragg:Boolean = false; public function test5() { m3.type = TextFieldType.INPUT; m3.x = 50; m3.y = 50; m3.background = true; m3.border = true; m3.width = 30; addChild(m3); mm.addEventListener(MouseEvent.CLICK,onon); } public function onon(e:MouseEvent):void { trace(m1.text) if (m1.text == "bbb") { trace("verno"); } else { a222 = true; mmm(); trace("neverno"); } } public function mmm () :void { if (a222){ trace("realno neverno");} } } } |
|
|||||
|
Регистрация: Jun 2013
Сообщений: 133
|
Сделайте trace(m1.text.length). Может там кол-во символов разное.
Добавлено через 25 минут Если окажется на единицу больше от ожидаемого, то вы наткнулись на одну из специфик textField'а созданного в среде FlashIDE. Так случается если в параметре поля Behavior установлено значение Multiline. Просто перевидите его в значение Single line и все нормализуется. Если же все таки вам необходимо использовать Multiline, то уберите галочку у Auto kern. Короче такая специфика наблюдается при сочетании Multiline + Auto kern в текстовом поле созданном руками в FlashIDE. На месте "лишнего символа" скрывается символ с KeyCode = 13, т.е. Enter, поэтому его не было видно и при этом казалось что строки одинаковые. |
|
|||||
|
[+1 16.07.13]
[+4 16.07.13] Регистрация: Oct 2005
Сообщений: 217
|
Согласен с Rivexe , можно также поставить значение текстовому полю Single line , тоже работает.
|
|
|||||
|
Регистрация: Apr 2013
Сообщений: 44
|
Спасибо Большое Заработало!!! Точно убрал галочку! и поставил Single line и заново сделал заработало!!!))) Спасибо)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|