![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2009
Сообщений: 5
|
Здравствуйте. Имеется учебный пример в котором я пытаюсь разобраться. В нем после нажатия на кнопку Enter идет запись координат мыши в массив mouse, затем после 5 секунд(time) объект arrow должен повторить перемщение мыши. Но он неповторяет, а просто переходит к ключевому кадру playRecord. Подскажите что нетак написано. Ссылка клипа практика array.fla
|
|
|||||
|
stop(); допиши в 20-ом кадре и все будет хорошо.
|
|
|||||
|
.
|
var savedData:Array = new Array(); var arrow:MovieClip = this.createEmptyMovieClip('arrow', this.getNextHighestDepth()); arrow.beginFill(0xFF0000, 100); arrow.moveTo(0, 0); arrow.lineTo(10, 0); arrow.lineTo(10, 10); arrow.lineTo(0, 10); arrow.lineTo(0, 0); arrow.endFill(); setTimeout(this.stopRecord, 5e3, this); var i:Number = 0; this.onEnterFrame = function():Void { this.savedData[i++] = {x:this._xmouse, y:this._ymouse}; } function stopRecord(scope:Object):Void { delete scope.onEnterFrame; scope.playRecord(); } function playRecord():Void { i = 0; this.onEnterFrame = function():Void { this.arrow._x = Number(this.savedData[i].x); this.arrow._y = Number(this.savedData[i].y); if ( !this.savedData[++i] ) delete this.onEnterFrame; }; } |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 5
|
Да действительно это решило проболему невоспроизведения. Но как сделать чтобы клип при нажатии потом воспроизводился опять.
Добавлено через 3 минуты Спасибо dimarik за вариант. |
|
|||||
|
поставь из первого клипа обработчик кнопки в тот же 20 и на будующее почисти массив координат мышки, чтобы новое записывалось вместо сторого, а не после.
|
|
|||||
|
Регистрация: Mar 2009
Сообщений: 5
|
Цитата:
![]() Добавлено через 1 минуту Кстати а как очтстить массив? |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|