Форум 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=187135)

gin_sea 14.11.2012 11:04

Одновременное изменение прозрачности и перемещение объекта
 
Здравствуйте.

Прозрачность экземпляра bla изменяется от 0 до 1 за 1 секунду, а потом происходит перемещение bla из х=100 в х=300 в течение 1 секунды. Возможно ли сделать так, чтобы перемещение и изменение прозрачности происходило одновременно?

Код AS3:

import fl.transitions.*;
import fl.transitions.easing.*;
var bla: motor = new motor();
bla.x = 100;
bla.y = 100;
addChild(bla);
 
TransitionManager.start(bla, {type:Fade, direction:Transition.IN, duration:1, easing:Strong.easeOut});
var myTween: Tween = new Tween(bla, "x", Bounce.easeInOut, 100, 300, 1, true);


Hauts 14.11.2012 11:50

Конечно возможно. Но для вашего случая я не знаю, как.

Вообще я бы использовал другой твинер. И получил бы что-то типа такого:
Код AS3:

import com.greensock.*
 
TweenLite.fromTo(bla, 1, {x: 100, alpha: 0}, {x: 300, alpha: 1});


gin_sea 14.11.2012 14:52

Цитата:

Сообщение от Hauts (Сообщение 1104333)
Конечно возможно. Но для вашего случая я не знаю, как.

Вообще я бы использовал другой твинер. И получил бы что-то типа такого:
Код AS3:

import com.greensock.*
 
TweenLite.fromTo(bla, 1, {x: 100, alpha: 0}, {x: 300, alpha: 1});


Я раньше не сталкивался с greensock. Как его подключить к flash professional?

Hauts 14.11.2012 14:58

Идете на сайт http://www.greensock.com/, качаете версию для as3, распаковывайте архив. Кладете папку com из архива рядом с исходником .fla.

В исходнике перед использованием TweenMax или TweenLite (или чего другого) пишите в коде:

Код AS3:

import com.greensock.*

А вообще посмотрите документацию, там и примеры есть. Очень полезная штука.

Sintesis 14.11.2012 15:16

Код AS3:

private function enterFrame(e:Event):void{
 
        bla.alpha -= .01;
        bla.x++;
}


Hauts 14.11.2012 15:19

Sintesis и как же это все в течение секунды сделать? Автор-то вполне нормальный вопрос задал.

По-моему, проще твинер использовать, чем привязываться к таймеру / фрэймрейту и двигать с изменением прозрачности.

Sintesis 14.11.2012 15:31

Цитата:

Сообщение от Hauts (Сообщение 1104375)
Sintesis и как же это все в течение секунды сделать? Автор-то вполне нормальный вопрос задал.

Подставить нужные значения, мы же знаем сколько кадров в секунде, это супер просто.
Твин ещё там лишнее что-нибудь будет делать, почему-бы не контролировать процесс самому?

Hauts 14.11.2012 15:42

Это получается вопрос отношения к избыточности и удобности, так как да, в простейшем случае твиннер избыточен по кол-ву проверок, объему кода и т.п., но с другой стороны он предоставляет очень удобные механизмы создания анимаций.

Если во всем приложении нужно один раз сделать такую анимацию, то да, можно и вручную запрограммировать. Но и с другой стороны — что сделает "лишнего" твиннер, кроме того, как запустит таймер и по таймеру будет менять свойство объекта исходя из результатов выполнения исинг-функции? Да ничего такого лишнего, что ощутимо будет мешать.

Если в приложении нам нужно будет многократно создавать анимации, то, думаю, твиннер самое то. Они, в конце-концов, для этого и созданы.


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

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