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

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

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

Регистрация: Apr 2013
Сообщений: 44
По умолчанию Проверка вводимого текста не работает

Здравствуйте! Сначала собственно код:
Код AS3:
import flash.events.Event;
import flash.text.TextField;
 
var m2:TextField = new TextField();
m2.text = "ммм";
 
bbb.addEventListener(MouseEvent.CLICK,clii);
 
function clii(e:Event):void {
	if (m1.text == m2.text){
		trace("verno");
	} else {
		trace("neverno");
	}
}
Вот таким образом пытаюсь сделать проверку вводимого текста. но ничего не получается, Уже 6 день странно как то сначала работало потом нет потом работает потом нет. Почему может такое быть и есть ли еще какие нибудь варианты проверки вводимого текста? Это нужно для кроссворда.
Я пробывал еще так:
Код AS3:
import flash.events.Event;
import flash.text.TextField;
 
 
 
bbb.addEventListener(MouseEvent.CLICK,clii);
 
function clii(e:Event):void {
	if (m1.text == "vvv"){
		trace("verno");
	} else {
		trace("neverno");
	}
}
Тоже никак!!!

Добавлено через 4 минуты
Думал через методы String CharAt(); или IndexOf(); но они либо возвращают позицию либо наоборот нужна позиция...

Старый 05.06.2013, 22:39
AlexTrin вне форума Посмотреть профиль Отправить личное сообщение для AlexTrin Найти все сообщения от AlexTrin
  № 2  
Ответить с цитированием
AlexTrin
[+1 05.06.13]

Регистрация: Mar 2013
Сообщений: 42
mAK08, ваши варианты рабочие, смотрите другие косяки.

Старый 05.06.2013, 23:13
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 3  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Прикрепите исходники.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
var m2:TextField = new TextField();
А m2 при этом не лежит ли уже на сцене ручками?
__________________
Reality.getBounds(this);

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

Регистрация: Oct 2005
Сообщений: 217
Wolsh
У меня вопрос , если рассматривать область видимости , то идет поиск переменной сначала в коде и если она не будет найдена ,то тогда будет производится поиск на сцене объекта с таким именем?
Еще на заметку в приемник должен передаваться событийный объект с типом данных MouseEvent а не Event,
но тут понятно почему ошибку не выдает.Потому что MouseEvent расширяет класс Event и по-сути является типом данных MouseEvent и типом своего суперкласса Event.Если я в чем-то не прав прошу указать на мои ошибки.

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

Регистрация: Apr 2013
Сообщений: 44
Сейчас Работает((( Может ли это быть из за того что я установил Adobe Flash CS6?

И кстати как поменять версию Flash playera на 11.7 ? У меня в настройках публикации только 11.2...

Нет m2 не лежит.
Вложения
Тип файла: rar test3.rar (6.0 Кб, 29 просмотров)

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Может ли это быть из за того что я установил Adobe Flash CS6?
Не может

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
идет поиск переменной сначала в коде и если она не будет найдена ,то тогда будет производится поиск на сцене объекта с таким именем?
Проще. Все объекты с именем получают ссылки, которые записываются в переменные еще на этапе компиляции автоматически. То есть пасётся на сцене мувик "cat" — будет создано поле класса var cat:MovieClip (ну или свой класс, если он свой). Но что произойдет, если для переменной с таким именем в коде есть инициализация? Естественно, переменная получает новое значение, а котик пасется дальше, доступный для ActionScript только через обращение к детям списка отображения.
Про события все верно.
__________________
Reality.getBounds(this);

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

Регистрация: Oct 2005
Сообщений: 217
Спасибо за разъяснение. Я просто писал к чему , к тому что если даже создано текстовое поле на сцене с таким именем ,то код все равно работает.А вот как будет выглядеть код , чтобы обратится к объекту который
с таким же именем как созданная переменная ,не понятно.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
обратится к объекту который с таким же именем как созданная переменная ,не понятно.
Имя это просто имя, одно из свойств. С переменной (то есть ссылкой, хранящейся в переменной) оно никак не связано. Просто для удобства написания скриптов для объектов сцены компилятор называет создаваемые переменные по этим именам. В частности, если вы неправильно разложите анимацию с ключевыми кадрами таким образом, что в разных ключевых кадрах у вас будет вроде бы один и тот же объект, и с тем же именем — код всеравно его "потеряет" при переходе, потому что это будет другой экземпляр, на который компилятор не сохранил ссылку.
Ну а обратиться можно либо через имя: getChildByName(), либо через глубину: getChildAt(). В списке отображения то объект присутствует, и имя свое хранит. Вот только имя легко можно назначить одинаковое для совершенно разных объектов, поэтому лучше не злоупотреблять этими "дизайнерскими" ненадежными штучками.
__________________
Reality.getBounds(this);

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

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

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


 


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


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