AS3 эффект флип, оставляя след? - PullRequest
0 голосов
/ 26 мая 2011

Я пытаюсь создать что-то с помощью учебника по эффекту переворачивания от tutplus - http://active.tutsplus.com/tutorials/effects/iphone-page-transition-flash/

Однако моя область переворота намного больше, чем урок, она имеет ширину 900 пикселей. Все работает хорошо, за исключением того, что он оставляет след при большой ширине. Вы увидите это, когда перевернете несколько раз.

Кто-то еще опубликовал ту же проблему в комментариях прошлого года, но никто не ответил.

Кто-нибудь знает решение этой проблемы?

Edit:

Вот снимок экрана: http://imageshack.us/f/823/unled2lo.jpg/ (нажмите, чтобы увеличить)

Передняя часть фиолетовая, а задняя белая.

Как вы можете видеть, он оставил немного фиолетового, когда страница перевернулась на белый.

Я не мог получить снимок экрана с его поворотом, но это еще более очевидно, поскольку страница на самом деле переворачивается, потому что ширина становится узкой, что показывает намного больше, что осталось на странице.

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Учебное пособие, которое вы используете, создает эффект переворачивания, используя встроенные классы flash tween , они абсолютный мусор и очень медленные, если сравнивать с другими классами анимации третьей части. Это может быть причиной следа! У Ли Бримелоу есть великолепный видеоурок о том, как делать то, что вам нужно: http://gotoandlearn.com/play.php?id=91 он использует каурину, но я настоятельно рекомендую вам заменить его на tweenLight пока что лучшая анимация, которую я когда-либо делал б.

Хорошо, это прохождение:

1 - Загрузите файлы из учебника Ли Бримелоу здесь http://gotoandlearn.com/files/3dflip.zip

2 - Загрузите классы tweenLight AS3 здесь: http://www.greensock.com/tweenlite/

3 - скопируйте папку com внутри greensock-as3 и вставьте ее в папку 3dflip . Теперь у вас есть все классы анимации, необходимые для вашего флип!

4 - откройте файл флэш-памяти 3dflip.fla и замените исходный код (расположенный в первом кадре) следующим:

import com.greensock.TweenLite;
import fl.video.*;

con.visible = false;

var flv:FLVPlayback = con.vid.flvp;
flv.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, onStart);

function onStart(e:Event):void
{
    con.visible = true;
    loading.visible = false;
}

con.vid.spin.addEventListener(MouseEvent.CLICK, cl);
con.tclip.spin.addEventListener(MouseEvent.CLICK, cl);

var isTurning:Boolean = false;

function cl(e:Event):void
{
    if(!isTurning)
    {
        TweenLite.to(con, 1, {rotationY:con.rotationY+180, onComplete:function(){isTurning=false;}});
        isTurning = true;
    }
}

addEventListener(Event.ENTER_FRAME, loop);

function loop(e:Event):void
{
    if(con.rotationY > 90 && con.rotationY < 270)
        con.addChild(con.tclip);
    else
        con.addChild(con.vid);
    if(con.rotationY >= 360) con.rotationY = 0;
} 

Вот и все. Теперь опубликуйте и посмотрите результат. Теперь все, что вам нужно сделать, это заменить видеоплеер на контент, который вы хотите!

0 голосов
/ 26 мая 2011

Я бы проверил состояние первой стороны - кажется, что это забыто на сцене, когда "другая сторона" начинает действовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...