问题描述
|
我正在尝试使用tutplus的翻转效果教程创建一些东西-http://active.tutsplus.com/tutorials/effects/iphone-page-transition-flash/
但是,我的翻转区域比教程要大得多,它的宽度为900px。一切正常,除了当宽度那么大时会留下痕迹。翻转几次,您会看到它。
有人在去年的评论中发布了相同的问题,但没有人回答。
有人知道解决方案吗?
编辑:
这是一个屏幕截图:http://imageshack.us/f/823/unled2lo.jpg/(单击放大)
正面为紫色,背面为白色。
如您所见,页面翻到白色时,它留下了一些紫色。
我无法看到它旋转的屏幕快照,但是在页面实际上正在翻转的时候更加明显,因为宽度变窄,这揭示了页面上留下的更多内容。
解决方法
您正在使用的教程使用内置补间类创建翻转效果,它们绝对是垃圾,如果与其他第三部分补间类进行比较,则会非常慢。那可能是造成足迹的原因! 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;
}
而已。现在发布并查看结果。现在,您要做的就是用所需的内容替换视频播放器!
,我会检查第一侧的状态-好像当“另一侧”踢进舞台时,它已经在舞台上被忘记了。