Ініціалізація руху клацанням миші

Тепер ми значно змінимо код, щоб фільм переміщався в будь-які місця, де користувач клацне мишею. Аналогічно тому, як ми привласнювали функцію onEnterFrame фільму, ми можемо привласнити йому функцію onMouseDown. Ця функція буде виконуватися при кожному натисканні кнопки миші в будь-якому місці на головному фільмі. Отже, коли користувач клацає мишею, потрібно спочатку встановити позиції цілей фільму на місце розташування клацання, а потім виконати функцію onEnterFrame для переміщення на цю позицію:

  1. Використовуючи настроювання кадру, застосовані в попередніх прикладах, скористайтеся панеллю Actions для додавання наступного коду в кадр 1 шаруючи script:
var speed = 4;// set up target variablesball_mc.target = 0ball_mc.target = 0 ball_mc.moveToMouse = function() { this._x += ( target-this._x)/speed; this._y += ( target-this._y)/speed;}; triggerMotion = function() { // reset target variables on click target = _xmouse; target = _ymouse; // set the movieclip in motion this.onEnterFrame = this.moveToMouse;}ball_mc.onMouseDown = triggerMotion;

Можна бачити, що цей ActionScript кардинальним образом відрізняється від попереднього ActionScript. Якщо раніше ми приєднували функцію безпосередньо до керуючого елемента onEnterFrame, то цього разу ми спочатку визначаємо функцію moveToMouse, і при клацанні мишею вираження this.onEnterFrame указує на цю функцію й викликає її в кожному кадрі. Функція сама по собі працює так само, як і колись, за винятком того, що переміщення відбувається не на позицію покажчика миші, а на значення змінних target і target, що є змінними місця розташування покажчика миші, значення яких визначаються при кожному клацанні мишею користувачем.

Цей підхід виглядає більше ефективним, тому що потрібно лише один раз визначити функцію, а потім активізувати її, указавши для неї onEnterFrame. Якщо згодом потрібно буде виключити рух, це можна зробити, видаливши this.onEnterFrame.

  1. Збережете ваш фільм у файлі ball motion_03_click to move.fla і запустите його.

Ви побачите, що об'єкт переміщається на те місце, де ви клацнули мишею, і потім, дійшовши до цього місця, припиняє свій рух, що являє гарний приклад зіставлення з тим случаємо, коли кулька постійно випливала за мишею.








Дата добавления: 2015-04-03; просмотров: 670;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.