Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.06.2013, 14:29
mAK08 вне форума Посмотреть профиль Отправить личное сообщение для mAK08 Найти все сообщения от mAK08
  № 11  
Ответить с цитированием
mAK08

Регистрация: Apr 2013
Сообщений: 44
Никто не знает нет ли других способов по проверке вводимого текста? А то странно этот то работает то нет, только что работал, сейчас это же открываю не работает!
И кстати помоему у меня плохо работает оператор IF, так как если к предыдущему коду добавить вот так:
Код AS3:
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");
		}
 
 
	}
 
}
не хочет проверять a222. Почему? и Почему все таки не работает
Код AS3:
m1.text == "bbb"
????

Старый 06.06.2013, 14:54
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 12  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Я думаю , что происходит таким образом , что создается объект с именем name на сцене ,при этом компилятор запоминает как var name = объект, а когда мы создаем переменную в коде var name = new TextField(); , то просто заменяется значение переменной.И чтобы оставить возможность доступа к объекту на сцене просто нужно присвоить другой переменной до кода заменяющего значение переменной name.Разве не так?

Старый 06.06.2013, 14:59
mAK08 вне форума Посмотреть профиль Отправить личное сообщение для mAK08 Найти все сообщения от mAK08
  № 13  
Ответить с цитированием
mAK08

Регистрация: Apr 2013
Сообщений: 44
Немного не понял, можно кодом показать?

Старый 06.06.2013, 15:05
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 14  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
mAK08
если вы хотите чтобы проверялся этот блок
if (a222){
trace("dfdfd");
}
то поставьте его перед блоком else , просто до него не доходит очередь проверки выполняется или
if (m1.text == "bbb") если условие возвращает true или блок else

Старый 06.06.2013, 16:40
Rivexe вне форума Посмотреть профиль Отправить личное сообщение для Rivexe Найти все сообщения от Rivexe
  № 15  
Ответить с цитированием
Rivexe
 
Аватар для Rivexe

Регистрация: Jun 2013
Сообщений: 133
А ещё, непосредственно перед проверкой - m1.text == "bbb", можно вывести значение m1.text, что бы понять что на самом деле там находиться и почему оно не равно "bbb".

Старый 06.06.2013, 16:46
mAK08 вне форума Посмотреть профиль Отправить личное сообщение для mAK08 Найти все сообщения от mAK08
  № 16  
Ответить с цитированием
mAK08

Регистрация: Apr 2013
Сообщений: 44
Вывожу через trace();
Там тоже самое что и я написал, но проверять не хочет!!!
Лох это судьба наверное...
Код AS3:
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");}
		}
	}
}

Старый 06.06.2013, 17:10
Rivexe вне форума Посмотреть профиль Отправить личное сообщение для Rivexe Найти все сообщения от Rivexe
  № 17  
Ответить с цитированием
Rivexe
 
Аватар для Rivexe

Регистрация: Jun 2013
Сообщений: 133
Сделайте trace(m1.text.length). Может там кол-во символов разное.

Добавлено через 25 минут
Если окажется на единицу больше от ожидаемого, то вы наткнулись на одну из специфик textField'а созданного в среде FlashIDE. Так случается если в параметре поля Behavior установлено значение Multiline. Просто перевидите его в значение Single line и все нормализуется.

Если же все таки вам необходимо использовать Multiline, то уберите галочку у Auto kern.
Короче такая специфика наблюдается при сочетании Multiline + Auto kern в текстовом поле созданном руками в FlashIDE. На месте "лишнего символа" скрывается символ с KeyCode = 13, т.е. Enter, поэтому его не было видно и при этом казалось что строки одинаковые.

Старый 06.06.2013, 17:54
belv вне форума Посмотреть профиль Отправить личное сообщение для belv Найти все сообщения от belv
  № 18  
Ответить с цитированием
belv
[+1 16.07.13]
[+4 16.07.13]

Регистрация: Oct 2005
Сообщений: 217
Согласен с Rivexe , можно также поставить значение текстовому полю Single line , тоже работает.

Старый 06.06.2013, 21:22
mAK08 вне форума Посмотреть профиль Отправить личное сообщение для mAK08 Найти все сообщения от mAK08
  № 19  
Ответить с цитированием
mAK08

Регистрация: Apr 2013
Сообщений: 44
Спасибо Большое Заработало!!! Точно убрал галочку! и поставил Single line и заново сделал заработало!!!))) Спасибо)

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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