Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Додавання сліду від руху об'єкта




Одним з доповнень, що забезпечить чіткість руху об'єкта, є його слід, що залишається на тих місцях, де тільки що перебував фільм. У нашім випадку це корисно для розуміння того, як працює сповільнення руху, однак такі сліди можуть застосовуватися також і в інших обставинах: або як, що рухається значок, під час завантаження чого-небудь, або ж у вигляді свого роду розмитості об'єкта, викликаної його рухом. Такі сліди можуть бути легко створені за допомогою дубликации фільму в кожному кадрі з використанням функції duplicateMovieClip. Для цього потрібно лише додати рядок коду, що збільшує значення _root і потім створює дублікат поточного фільму.

Дублікат перебуває за замовчуванням на тій же позиції, що й вихідний фільм. Насправді, дублікат має всі ті ж параметри, що й вихідний фільм, такі як alpha, xscale, yscale і т.д., однак у нього немає функцій onEnterFrame або змінних, які може містити вихідний фільм. Це одне з відмінностей від Flash 5, у якому якщо створювався дублікат фільму із привласненою подією clipEvent, також створювався дублікат цієї події, що відбувалося й на дублікаті фільму. Ми розташовуємо кожний дублікат на один рівень вище попереднього, за допомогою додавання змінної глибини для '_root', значення якої збільшується з кожним кадром.

DuplicateMovieClip можна інтерпретувати, як виробник дублікатів, зовні ідентичних вихідним фільмам, у яких, однак, не повторюються ніякі з вихідних дій. У нашім випадку, дублікати не випливають за покажчиком миші, а просто залишаються там, де вони були створені.

  1. Використовуйте ті ж настроювання, як і в попередніх прикладах, і додайте наступний ActionScript у ваш фільм:
var speed = 4; ball_mc.moveToMouse = function() { this._x += (this.target-this._x)/this._parent.speed; this._y += (this.target-this._y)/this._parent.speed; this.duplicateMovieClip("dupe"+this._parent.depth, this._parent.depth++);};ball_mc.onMouseDown = function() { this.target = this._parent._xmouse; this.target = this._parent._ymouse; this.onEnterFrame = this.moveToMouse;};
  1. Збережете фільм у файлі ball motion_04_click for trail.fla. Якщо тепер запустити фільм, ви відразу побачите, як працює ця з, і заметете, що це дуже схоже на те, що було зображено на діаграмі.

При клацанні на новому місці дублікати спочатку створюються досить далеко друг від друга, і потім стають всі ближче й ближче друг до друга доти, поки не перетворяться в монотонну картину в кінцевої крапки. Однак число об'єктів тут росте, поки фільм виконується, і, щоб уникнути "мішанини", потрібно поступово зменшувати кожний дублікат до його повного зникнення. У наступному прикладі ми реалізуємо саме це доповнення.


Поделиться:

Дата добавления: 2015-04-05; просмотров: 105; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты