Просмотр полной версии : действие при нажатии
Youngflasher
04.02.2014, 14:39
Помогите пожалуйста!
Есть квадрат, разбит на 4 четверти, мувик находится в одной из четвертей.
Как сделать так, чтоб при перетаскивании его в другую четверть, тебя перекидывало в другой кадр.
3 четверти - 3 разных кадра соответственно.
Код который использую для перетаскивания.
a.onPress = function() {
a.startDrag();
};
a.onRelease = function() {
a.stopDrag();
};
Sergey_A
04.02.2014, 17:51
Во-первых, надо четко задать границы для startDrag - в соответствии с вашим квадратом, а чтобы запускать переход на другой кадр - разместите в каждой из четвертей по невидимому мувику и проверяйте событие пересечения с ними. (hitTest). Если хотите большой точности - размещайте несколько мувиков в каждой из четвертей, чтобы переход выполнялся, только если есть пересечение со всеми.
Youngflasher
04.02.2014, 17:57
А вы можете, пожалуйста, в коде показать как это реализовать? на любом примере, с любыми координатами.
Спасибо большое!
Sergey_A
04.02.2014, 18:59
Ну, если совсем просто, то что-то вроде: На сцене мувики t_drag и t1, в кадре код:
t1._visible = false; //делаем мувик t1 невидимым
t_drag.onPress = function() {
startDrag("t_drag", true, 140, 92, 383, 279); //по нажатию кнопки t_drag таскается за мышкой, не покидая определенной области
this.onEnterFrame = function() {
if (this.hitTest(t1)) {
stopDrag(); //если он пересекается с t1, то таскание прекращаем
delete this.onEnterFrame;
this._x = 255.95; //и возвращаем его на место
this._y = 180; //сюда же можно прописать и другие действия, например
trace("УРА!!!!");
}
}
}
//по отпусканию кнопки мыши таскание тоже прекращаем
t_drag.onRelease =
t_drag.onReleaseOutside = function() {
stopDrag();
delete this.onEnterFrame;
}
Остается прописать то же самое не только для t1, но и еще для любого нужного количества мувиков. Впрочем, проверять можно не только пересечение с мувиком, но и пересечени точки с определенными координатами (функция та же - hitTest), но с мувиками, ИМХО, нагляднее и проще.
Youngflasher
04.02.2014, 19:26
Спасибо большое!
Очень помогли)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.