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

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

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

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
По умолчанию Как узнать пустую ячейку. hitTest

Доброго времени суток. Столкнулся с проблемой не подсильной моему мозгу %) Делаю тесты по английскому, упражнение — есть список слов и из них надо верно составить предложение. Для этого элементы-слова тягаем на определенные места. Если постали слово верно, то место красится в зеленый цвет, если неверно то в красный, если не поставили вобще то место остается серым (все проверяю хиттестом). С последним пунктом и есть проблемы.
Как корректно узнать те елементы на которых нет слов? Вот кусок кода из исходника:
Код AS1/AS2:
///////////////////------------------------------------- Именно эта функция ключевая
function check_btn()  // функция срабатывает по релизу кнопы
{
	for (var i = 0; i < this._parent.l; i++)                               // перебираем элементы-слова
	{
		var mov:MovieClip = this._parent["mov" + i];          // этот обьект мы тягаем (элемент-слово)
		var place_col:Color = new Color(this._parent["place" + i]);
			place_col.setRGB(0xCCCCCC);                       // перед каждой проверкой цвет области сбрасываем на дефолтный "серый"
 
		for (var j = 0; j < this._parent.l; j++)                  // для каждого элемента-слова делаем проверку на то контачит ли он с какой либо "областью"
		{
			var place:MovieClip = this._parent["place" + j];  // эти обьекты статичны и на них мы по идее должны навести обьекты "mov"
			if (mov.hitTest(place))   // если есть контакт
			{
				var place_color:Color = new Color(place);
				if (place.i == mov.i)  // и притом нужное слово навели на нужную область то все ок
				{  // красим область в зеленый цвет
					place_color.setRGB(0x99CC00); // my_mc turns red #CCCCCC - grey, #99CC00 - green, #FF0000 - red
					trace("right")
					mov._parent.right++
					if (mov._parent.right == mov._parent.l) // все кол-во совпадений равно кол-ву элементов то вообще все верно
					{
						trace("All done")
					}
					//break;
				} else {    // если есть наведение, но область не верная
					place_color.setRGB(0xFF0000);   // красим область в красный цвет
					trace("mistake")
					mov._parent.right = 0;
				}
			} 
		}
	}
}
З.Ы. трейсы отрабатываются просто замечательно.
Вот исхоник и пример:
Вложения
Тип файла: rar sentence net_tests 15.03.2009.rar (9.1 Кб, 43 просмотров)


Последний раз редактировалось nOobCrafter; 16.03.2009 в 13:06.
Создать новую тему   Часовой пояс GMT +4, время: 14:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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