#actionscript-3
#actionscript-3
Вопрос:
Я пытаюсь создать что-то с помощью руководства по эффекту переворота от tutplus — http://active.tutsplus.com/tutorials/effects/iphone-page-transition-flash /
Однако моя область отображения намного больше, чем в учебнике, она имеет ширину 900 пикселей. Все работает нормально, за исключением того, что при такой большой ширине он оставляет след. Вы увидите это, когда перевернете его несколько раз.
Кто-то другой опубликовал ту же проблему в комментариях за прошлый год, но никто не ответил.
Кто-нибудь знает решение этой проблемы?
Редактировать:
Вот снимок экрана: http://imageshack.us/f/823/unled2lo.jpg (нажмите, чтобы увеличить)
Передняя часть фиолетовая, а задняя — белая.
Как вы можете видеть, он оставил немного фиолетового цвета, когда страница стала белой.
Я не смог сделать снимок экрана с его переворачиванием, но это еще более очевидно, поскольку страница на самом деле переворачивается, потому что ширина становится узкой, что показывает намного больше того, что осталось на странице.
Комментарии:
1. Как это выглядит? Можете ли вы добавить ссылку на скриншот?
2. привет, alxx, я добавил ссылку на скриншот к своему вопросу. Посмотрите на фиолетовый фрагмент под текстом «с другой стороны».
Ответ №1:
В руководстве, которое вы используете, создается эффект переворачивания с использованием встроенных в Flash tween классов, они абсолютный мусор и очень медленные, если сравнивать с другими классами анимации третьей части. Это может быть причиной следа! У Ли Бримелоу есть отличный видеоурок о том, как сделать именно то, что вам нужно:http://gotoandlearn.com/play.php?id=91 он использует caurina, но я настоятельно рекомендую вам заменить его на 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 amp;amp; con.rotationY < 270)
con.addChild(con.tclip);
else
con.addChild(con.vid);
if(con.rotationY >= 360) con.rotationY = 0;
}
Вот и все. Теперь опубликуйте и посмотрите результат. Теперь все, что вам нужно сделать, это заменить видеопроигрыватель нужным контентом!
Ответ №2:
Я бы проверил состояние первой стороны — кажется, что об этом забывают на сцене, когда включается «другая сторона».
Комментарии:
1. в этом есть смысл. мой as3 ограничен, хотя этот урок для меня очень продвинутый. не могли бы вы указать мне на определенную область в коде, с которой можно повозиться?
2. Посмотрите на
checkFlip
функцию. Правильно отформатируйте его с помощью вкладок (если вы этого еще не сделали), потому что смотреть на это неудобно… Добавьте следы к таким действиям, как «переключить видимость» и «добавлен дочерний элемент», чтобы увидеть, что происходит.3. Я обновил свой ответ пошаговым руководством о том, что вам нужно сделать! Взгляните.