![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
Что я сделал неправильно?
Добавлено через 14 минут Котейка нужна ваша помощь: Цитата:
|
|
|||||
|
Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
|
в этой стройке
вы обращаетесь к классу, а надо к экземпляру, т.е. надо писать так
__________________
FlashPress.ru | Blog |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
maincode, я сделал это, вот получил такие ошибки:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at ru.flashpress.tween.timeline.turn::FPTimelineTurn/addTween() at project3_fla::MainTimeline/frame1() RangeError: Error #1125: Индекс 0 выходит за границы диапазона 0. at ru.flashpress.tween.timeline.turn::FPTimelineTurn/playCurrent() at ru.flashpress.tween.timeline.turn::FPTimelineTurn/playNow() at ru.flashpress.tween.timeline.turn::FPTimelineTurn/start() at project3_fla::MainTimeline/clickHandler() Мне всего лишь нужно без событий на мышь, просто перемещения (10,10)-->(20,20)-->(30,30)-->(10,10). Как это сделать с помощью FPTween? |
|
|||||
|
Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
|
можете приложить исходник fla ?
Добавлено через 1 минуту а не заметил с первого раза, вот здесь тоже надо писать с маленькой буквы Simbol1. Я же писал что везде надо указывать instance name вашего клипа, а вы везде указали ссылку на класс
__________________
FlashPress.ru | Blog |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
Котейка, Ваш код творит чудеса!
var myStar1:MyStar;//MyStar - название класса символа myStar1=new MyStar(); myStar1.x=50; myStar1.y=50; addChild(myStar1); var simbol1:Simbol1;//Simbol1 - название класса символа simbol1=new Simbol1(); simbol1.x=50; simbol1.y=50; addChild(simbol1); import com.greensock.*; import com.greensock.easing.*; /*for(var c:int=1;i<=19;i++){ ani(myStar1, [{x:x1,y:y1},{x:x2,y:y2}], 1) }*/ //конец предыдущего положения и начало следущего положения - одни и те же y, x var coordinates:Dictionary = new Dictionary(); function ani(object:DisplayObject, coords:Array, speedt:int = 1):void { if (coords) { if (!coordinates[object]) { coordinates[object] = coords; } else { coordinates[object] = coordinates[object].concat(coords); return; } } if (coordinates[object]) { var nextCoords:Object = coordinates[object].shift(); nextCoords.onComplete = ani; nextCoords.onCompleteParams = [object, null, speedt]; if (!coordinates[object].length) delete coordinates[object]; TweenLite.to(object, speedt, nextCoords); } } ani(myStar1, [{scaleX:1,scaleY:1,rotation:0,x:50,y:50},{ease:Elastic.easeIn,rotation:0,scaleX:1,scaleY:1,x:30,y:60}], 1); // первое положение ani(myStar1, [{x:30,y:60},{rotation:0,x:110,y:175}],2); //второе положение ani(myStar1, [{x:110,y:175},{x:140,y:135}],100); // третье положение ani(simbol1, [{ease:Elastic.easeIn,x:50,y:1},{ease:Elastic.easeIn,x:120,y:70}], 1); // первое положение ani(simbol1, [{ease:Elastic.easeIn,x:120,y:70},{ease:Elastic.easeIn,x:160,y:135}],2); //второе положение ani(simbol1,[{ease:Elastic.easeIn,x:160,y:135},{ease:Elastic.easeIn,x:240,y:235}],1); // третье положение |
|
|||||
|
Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
|
Полный код для воспроизведения двух анимаций по очереди:
import ru.flashpress.tween.display.FPTweenSprite; import ru.flashpress.tween.timeline.turn.FPTimelineTurn; import fl.transitions.easing.Strong; import ru.flashpress.tween.events.FPTimelineEvent; var symbol1:Symbol1 = new Symbol1(); this.addChild(symbol1); symbol1.positionTo = new Point(10, 50); // var timelineTurn1:FPTimelineTurn = new FPTimelineTurn(symbol1, 'positionTo'); timelineTurn1.addTween(new Point(20, 100), Strong.easeOut, 1); timelineTurn1.addTween(new Point(40, 200), Strong.easeOut, 1); timelineTurn1.start(); timelineTurn1.addEventListener(FPTimelineEvent.FINISH, timeline1FinishHandler); var symbol2:Symbol2 = new Symbol2(); this.addChild(symbol2); symbol2.positionTo = new Point(50, 10); // var timelineTurn2:FPTimelineTurn = new FPTimelineTurn(symbol2, 'positionTo'); timelineTurn2.addTween(new Point(100, 20), Strong.easeOut, 1); timelineTurn2.addTween(new Point(200, 40), Strong.easeOut, 1); function timeline1FinishHandler(event:FPTimelineEvent):void { timelineTurn2.start(); }
__________________
FlashPress.ru | Blog |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
maincode, Спасибо!
Вот что получилось: import ru.flashpress.tween.display.FPTweenSprite; import ru.flashpress.tween.timeline.turn.FPTimelineTurn; import fl.transitions.easing.Strong; var simbol1:Simbol1;//Simbol1 - название класса символа simbol1=new Simbol1(); simbol1.x=20; simbol1.y=30; addChild(simbol1); simbol1.addEventListener(MouseEvent.CLICK, clickHandler); var timelineTurn:FPTimelineTurn = new FPTimelineTurn(simbol1, 'positionTo'); //timelineTurn.start(); timelineTurn.addTween(new Point(20, 100), Strong.easeOut, 1); timelineTurn.addTween(new Point(60, 50), Strong.easeOut, 1); timelineTurn.addTween(new Point(70, 200), Strong.easeOut, 1); timelineTurn.addTween(new Point(88, 10), Strong.easeOut, 1); function clickHandler(event:MouseEvent):void { timelineTurn.start(); } |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
maincode, у меня adobe flash cs5!
Ваш файл не могу открыть. А Ваш код выдает ошибки! import ru.flashpress.tween.display.FPTweenSprite; import ru.flashpress.tween.timeline.turn.FPTimelineTurn; import fl.transitions.easing.Strong; import ru.flashpress.tween.events.FPTimelineEvent; var symbol1:Symbol1 = new Symbol1(); this.addChild(symbol1); symbol1.positionTo = new Point(10, 50); // var timelineTurn1:FPTimelineTurn = new FPTimelineTurn(symbol1, 'positionTo'); timelineTurn1.addTween(new Point(20, 100), Strong.easeOut, 1); timelineTurn1.addTween(new Point(40, 200), Strong.easeOut, 1); timelineTurn1.start(); timelineTurn1.addEventListener(FPTimelineEvent.FINISH, timeline1FinishHandler); var symbol2:Symbol2 = new Symbol2(); this.addChild(symbol2); symbol2.positionTo = new Point(50, 10); // var timelineTurn2:FPTimelineTurn = new FPTimelineTurn(symbol2, 'positionTo'); timelineTurn2.addTween(new Point(100, 20), Strong.easeOut, 1); timelineTurn2.addTween(new Point(200, 40), Strong.easeOut, 1); function timeline1FinishHandler(event:FPTimelineEvent):void { timelineTurn2.start(); } |
|
|||||
|
Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
|
пересохранил в CS5
__________________
FlashPress.ru | Blog |
|
|||||
|
Регистрация: Aug 2013
Сообщений: 89
|
maincode, я создал Проект Flash.Поместил в папку проекта файл test.fla, а также FPTween.swc.
Открыл test.fla, нажал ctrl+enter и вуаля получил ошибки: |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|