Показать сообщение отдельно
Старый 06.12.2009, 12:25
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 16  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
Код AS1/AS2:
attachMovie("mc1,"mc1",1)
mc1._x = 100
mc1._y = 100
mc1.flag = true
 
attachMovie("mc2","mc2",2)
mc2._x = 300
mc2._y = 300
mc2.flag = true
 
mc1.onRelease = function(){
if(this.flag){this.startDrag();this.flag = false}else{this.stopDrag();this.hit_mc();this.flag = true}
}
 
MovieClip.prototype.hit_mc = function(){
//измерим расстояние от центра детальки до места соединения
trace(this)
dx = this._x - mc2._x;
dy = this._x - mc2._y;
dist = Math.sqrt(dx*dy+dy*dy);
 
//проверяем расстояние
//если расстояние меньше 20 пикселей то помещаем его к месту соединения
if(dist < 20) {
this._x =  mc2._x;
this._y =  mc2._y;
} 
 
 }
где mc1 - MovieClip(размещенный в библиотеке) детальки, которую мы будем перемещать
mc2 - MovieClip(размещенный в библиотеке) прибор, к которому надо приделать детальку (mc1)

Делаем функцию hit_mc методом MovieClip - а, для того, что бы без труда можно было передавать все настройки (свойства клипа mc1)детали при коннекте с каким либо устройством.

Или вообще можно просто обычную функцию сделать, аргументом которого будет имя детальки(mc1)

как то вот так