Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3翻转效果留下痕迹?_Actionscript 3 - Fatal编程技术网

Actionscript 3 AS3翻转效果留下痕迹?

Actionscript 3 AS3翻转效果留下痕迹?,actionscript-3,Actionscript 3,我正在尝试用tutplus的翻转效果教程创建一些东西- 然而,我的翻转区域比教程要大得多,它的宽度是900px。除了宽度太大时留下痕迹外,一切正常。当你把它翻转几次,你就会看到它 其他人在去年的评论中也提出了同样的问题,但没有人回复 有人知道这个问题的解决办法吗 编辑: 这是一个屏幕截图:(点击放大) 前面是紫色的,后面是白色的 正如你们所看到的,当页面翻转到白色时,它留下了一点紫色 我无法从屏幕截图上看到它的旋转,但更明显的是,页面实际上正在翻转,因为宽度变窄,显示出页面上留下的更多内容。您使

我正在尝试用tutplus的翻转效果教程创建一些东西-

然而,我的翻转区域比教程要大得多,它的宽度是900px。除了宽度太大时留下痕迹外,一切正常。当你把它翻转几次,你就会看到它

其他人在去年的评论中也提出了同样的问题,但没有人回复

有人知道这个问题的解决办法吗

编辑:

这是一个屏幕截图:(点击放大)

前面是紫色的,后面是白色的

正如你们所看到的,当页面翻转到白色时,它留下了一点紫色


我无法从屏幕截图上看到它的旋转,但更明显的是,页面实际上正在翻转,因为宽度变窄,显示出页面上留下的更多内容。

您使用的教程使用内置的flash tween类创建翻转效果,它们绝对是垃圾,如果你和其他三分之一的班级相比,速度会非常慢。那可能是造成痕迹的原因!李·布里梅洛(Lee Brimelow)有一个很棒的视频教程,介绍了如何准确地完成您需要的操作:他正在使用caurina,但我强烈建议您用迄今为止我使用过的最好的tween替换它

好的,这就是演练:

1-从Lee Brimelow教程下载文件

2-在此处下载tweenLight AS3类:

3-将com文件夹复制到greensock-as3中,并在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;
} 
import com.greensock.TweenLite;
导入外语视频。*;
con.visible=false;
变量flv:FLVPlayback=con.vid.flvp;
flv.addEventListener(VideoEvent.PLAYING_STATE_ENTERED,onStart);
函数onStart(e:事件):void
{
con.visible=true;
loading.visible=false;
}
con.vid.spin.addEventListener(MouseEvent.CLICK,cl);
con.tclip.spin.addEventListener(MouseEvent.CLICK,cl);
变量isTurning:Boolean=false;
功能cl(e:事件):无效
{
如果(!isTurning)
{
TweenLite.to(con,1,{rotationY:con.rotationY+180,onComplete:function(){isTurning=false;}});
isTurning=true;
}
}
addEventListener(Event.ENTER_FRAME,循环);
函数循环(e:事件):无效
{
如果(反向旋转Y>90和反向旋转Y<270)
con.addChild(con.tclip);
其他的
con.addChild(con.vid);
如果(con.rotationY>=360)con.rotationY=0;
} 

就这样。现在发布并查看结果。现在你所要做的就是用你想要的内容替换视频播放器

我会检查第一方的状态-当“另一方”上场时,似乎舞台上忘记了它。

它看起来像什么?你们能给截图添加链接吗?嗨,alxx,我已经在我的问题中添加了截图链接。请看“另一边”文本下面的紫色部分。这很有意义。虽然我的as3很有限,但本教程对我来说非常高级。你能给我指出代码中的一个特定区域吗?查看
checkFlip
函数。用标签正确地格式化它(如果你还没有),因为它看起来很乱。。。在“切换可见”和“添加了孩子”等操作中添加跟踪,以查看发生了什么。我通过演练更新了我的答案,告诉您需要做什么!看一看。