Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перемещение картинки с помощью изменения ее координат (http://www.flasher.ru/forum/showthread.php?t=202793)

UserSuperPupsik 13.08.2013 19:50

прошу прощения, изменил предпоследнее сообщение...

maincode 13.08.2013 19:52

В настройках публикации не указали путь до библиотеки FPTween.swc )) там сейчас указан путь моего компа, надо поменять на Ваш

UserSuperPupsik 13.08.2013 20:08

Вложений: 2
Понял.Поменял.В области вывода вижу теперь другие ошибки:

maincode 13.08.2013 20:21

кидайте FLA вместе с swc в архиве)

UserSuperPupsik 13.08.2013 20:36

Вложений: 1
Цитата:

кидайте FLA вместе с swc в архиве)
Я закинул swc файл в архив с Вашим примером.Архив закинул в папку с проектом!
Открыл в adobe flash cs5 и получил ошибку:

Котейка 13.08.2013 21:38

UserSuperPupsik, как бы так и должно быть. Как вы выразились "два потока" создает функция ani(), как было и задумано, чтобы одновременная анимация разных объектов работала независимо друг от друга. А вам как надо? :)

UserSuperPupsik 14.08.2013 10:07

Да вы,я смотрю, крутой, Котейка!!! .Вот теперь то, что надо!!!Большое спасибо!!!Попробую написать инструкцию для того, чтобы заставить двигаться картинки по очереди в adobe flash cs5.
1. Создайте картинку 1.
2. Преобразуйте её в символ с параметрами: имя: myStar, имя класса: MyStar.(Поставьте галочку
"экспорт для ActionSript")
3. Создайте картинку 2
4. Преобразуйте её в символ с параметрами: имя: simbol1, имя класса: Simbol1.(Поставьте галочку "экспорт для ActionSript")
5.Создайте картинку 3.
6. Преобразуйте её в символ с параметрами: имя: simbol2, имя класса: Simbol2.(Поставьте галочку "экспорт для ActionSript")
7.Создайте папку project1 в любом месте.
8.Нажмите Файл->Сохранить как.Задайте имя файла project1, тип файла: .fla.Сохраните файл в папке
project1(в той, которую вы создали)
9.Нажмите Файл->Cоздать->Прект Flash.Нажмите на меню.Выберите Создать проект.
Задайте имя проекта: project1. Задайте корневую папку(ту, которую вы создали)(смотреть пункт 7)
10.Скачайте TweenLite отсюда http://www.greensock.com/tweenlite/
11.Переместите папку com из скаченого файла в папку project1.
12.Закройте adobe flash cs5. Откройте adobe flash cs5.
13.Нажмите Файл->Открыть->Откройте файл project1.fla.
14.Нажмите F9 .Выбирите Слой 1: Кадр 1
15.Вставьте код, который написал Котейка, и нажмите ctrl+enter:
Код AS3:
Код AS3:

//Код Котейки:
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);
 
 
var simbol2:Simbol2;//Simbol2 - название класса символа
simbol2=new Simbol2();
simbol2.x=100;
simbol2.y=100;
addChild(simbol2);
 
 
import com.greensock.*;
import com.greensock.easing.*;
 
 
 
 
 
 
var aniParameters:Array = new Array();
function ani(object:DisplayObject, parameters:Array, time:Number = 1):void
{
        if(object && parameters){
                for each(var item:Object in parameters) {
                        item.object = object;
                        if(!item.t) item.t = time;
                }
                if(!aniParameters.length) aniParameters = parameters;
                else {
                        aniParameters = aniParameters.concat(parameters);
                        return;
                }
        }
        if(aniParameters.length){
                var nextParameters:Object = aniParameters.shift();
                var nextObject:DisplayObject = nextParameters.object;
                var nextTime:Number = nextParameters.t;
                delete nextParameters.object;
                delete nextParameters.t;
                if(aniParameters.length) {
                        nextParameters.onComplete = arguments.callee;
                        nextParameters.onCompleteParams = [null, null];
                }
                TweenLite.to(nextObject, nextTime, nextParameters);
        }
}
 
/**
 * Ну и соббсна пример
 * Обратите внимание, что к прочим параметрам анимации (x,y,ease и т.д.) я добавил еще один необязательный - t
 * Это время анимации в секундах, как и последняя переменная, принимаемая функцией.
 * То есть те шаги, у которых t не указан как и раньше будут брать время общее для всех шагов,
 * а у которых указан будет свое индивидуальное)
 */

ani(simbol1, [{x:50, y:50, t:2},{x:200, y:350},{x:350,y:350, ease:Elastic.easeIn},{x:200,y:150}], 2);
 
ani(myStar1, [{x:400,y:400, t:2},{x:20, y:17}]);
ani(simbol2, [{x:100,y:100, t:2},{x:14,y:300, t:3},{y:243,x:155}]);


UserSuperPupsik 14.08.2013 10:14

Вложений: 1
На всякий случай вот TweenLite:

MikroAcse 14.08.2013 16:56

Да что Вы постоянно TweenLite-то советуете!
Лицензия ужасна, как и сам код этого самого TweenLite.
Говорю же, используйте Actuate. Он кросс-платформенный.

Котейка 14.08.2013 17:04

MikroAcse, та я вобщем то ничего не советовал :) Был прямой вопрос - как при помощи TweenLite сделать очередь анимации, с возможностью добавления в очередь любого количества шагов анимации в любое время. На этот вопрос я и ответил.
А то что у TweenLite лицензия ограниченная - да я согласен :) Что там касабельно его кода, х.з. не доводилось в него лазать

UserSuperPupsik 15.08.2013 23:16

Котейка, что значит:
Цитата:

А то что у TweenLite лицензия ограниченная - да я согласен
???
У меня в голове только-что проиграла музыка из Ералаша:
"Пвуа-Пвуа-Пвуа-Пвуа"!!!

MikroAcse 16.08.2013 00:32

Цитата:

???
У меня в голове только-что проиграла музыка из Ералаша:
"Пвуа-Пвуа-Пвуа-Пвуа"!!!
Использовать бесплатно можно только в целях обучения.

UserSuperPupsik 16.08.2013 13:46

То есть нельзя использовать в комерческих целях.Хорошо,MikroAcse, я понял, спасибо!

maincode 16.08.2013 13:59

А вот FPTween можно юзать абсолютно бесплатно и в любых проектах :)

MikroAcse 16.08.2013 14:17

Я остюсь при своем мнении.
Используйте Actuate!
Лицензия нормальная, open-source, код прекрасный.
А еще Actuate кросс-платформенный.

maincode 16.08.2013 14:45

Цитата:

Сообщение от MikroAcse (Сообщение 1143955)
А еще Actuate кросс-платформенный.

Что вы подразумеваете под кросс - платформенностью Actuate?


Часовой пояс GMT +4, время: 16:18.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.