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

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

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

Регистрация: Jan 2014
Сообщений: 27
Извините
Код AS3:
// элементы массива Fact перетаскиваются на области из массива Frame,
// проверка происходит в функции fun2
//нужно чтоб на одно место прилипал только один элемент, 
//а другой, в случаи попадания, прилипал в другую свободную ячейку
 
//массив элементов
var Fact: Array = new Array(Fact_1, Fact_2, Fact_3, Fact_4, Fact_5, Fact_6, Fact_7, Fact_8, Fact_9, Fact_10, Fact_11, Fact_12); 
//массив полей на которые элементы перетаскиваются 
var Frame: Array = new Array(frame_01, frame_02, frame_03, frame_04, frame_05, frame_06, frame_07, frame_08, frame_09, frame_10, frame_11, frame_12, frame_13, frame_14, frame_15, frame_16, frame_17, frame_18); 
// массивы координат элементов Frame
var X: Array = new Array(158, 471, 784);
var Y: Array = new Array(88, 151, 214.95, 278.45, 341.95, 405.45); 
//цикл для всех элементов 
for(i = 0; i < Fact.length; i++)
{
	Fact[i].addEventListener(MouseEvent.MOUSE_DOWN, fun1);
	Fact[i].addEventListener(MouseEvent.MOUSE_UP, fun2);
 
}
 
function fun1 (e:MouseEvent):void
	{
		e.currentTarget.startDrag();
 
	}
function fun2 (e:MouseEvent):void
	{
			for(i = 0; i < 6; i++)
		{
			if(e.currentTarget.hitTestObject(Frame[i]))
			{
						e.currentTarget.x = X[0];
						e.currentTarget.y = Y[i];
			}
			else if(e.currentTarget.hitTestObject(Frame[i+6]))
			{
						e.currentTarget.x = X[1];
						e.currentTarget.y = Y[i];	
			}
			else if(e.currentTarget.hitTestObject(Frame[i+12]))
			{
						e.currentTarget.x = X[2];
						e.currentTarget.y = Y[i];
			}
		}
                e.currentTarget.stopDrag();
}

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

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

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


 


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


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