AS3翻转效果留下痕迹?

时间:2011-05-26 06:26:20

标签: actionscript-3

我正在尝试使用tutplus - http://active.tutsplus.com/tutorials/effects/iphone-page-transition-flash/

的翻转效果教程创建一些内容

然而,我的翻转区域比教程大得多,它的宽度为900px。一切都很好,只是当宽度很大时会留下痕迹。当你翻几次时,你会看到它。

其他人在去年的评论中发布了同样的问题,但没有人回复。

有谁知道这个解决方案?

修改

以下是屏幕截图:http://imageshack.us/f/823/unled2lo.jpg/(点击放大)

正面是紫色,背面是白色。

正如您所看到的,当页面翻转为白色时,它会留下一些紫色。

我无法获得转动的屏幕截图,但由于页面实际上正在翻转,因为宽度变窄,显示页面上留下了更多的内容,因此更加明显。

2 个答案:

答案 0 :(得分:1)

您正在使用的教程使用 Flash补间类中的内置创建翻转效果,它们是绝对垃圾,如果您与其他第三方补间类进行比较,则非常慢。这可能导致了踪迹! Lee Brimelow有一个很棒的视频教程,关于如何准确地完成你所需要的:http://gotoandlearn.com/play.php?id=91他正在使用caurina,但我强烈建议你用 tweenLight 替换它到目前为止我曾经有过最好的补间使用

好的,那就是演练:

1-从Lee Brimelow教程http://gotoandlearn.com/files/3dflip.zip

下载文件

2-在此处下载tweenLight AS3课程:http://www.greensock.com/tweenlite/

3-复制 greensock-as3 中的 com 文件夹,然后将其移至 3dflip 文件夹中。现在你拥有翻转所需的所有补间类!

4-打开flash文件 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;
} 

多数民众赞成。现在发布并查看结果。现在您所要做的就是用您想要的内容替换视频播放器!

答案 1 :(得分:0)

我会检查第一面的状态 - 似乎在“另一边”开始时它被遗忘在舞台上。