Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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,我想尝试在使用AS3 Tween类时实现Arrcodion菜单 所以我用的是两个屏幕的MovieClips,放在舞台的右侧,当我点击屏幕时,它会从左到右 这是我的密码 import fl.transitions.Tween; import fl.transitions.easing.*; import fl.transitions.TweenEvent; var second:int = 1; var x1:int = screen01.x; //screen01.x = 430 var x2

我想尝试在使用AS3 Tween类时实现Arrcodion菜单

所以我用的是两个屏幕的MovieClips,放在舞台的右侧,当我点击屏幕时,它会从左到右

这是我的密码

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

var second:int = 1;
var x1:int = screen01.x; //screen01.x = 430
var x2:int = screen02.x; // screen02.x = 470

var Tween1:Tween = new Tween(screen01, "x", Regular.easeOut, x1, 40, second, true);
var Tween2:Tween = new Tween(screen02, "x", Regular.easeOut, x2, 470, second, true);
var Tween3:Tween = new Tween(screen01, "x", Regular.easeOut, x1, 40, second, true);
var Tween4:Tween = new Tween(screen02, "x", Regular.easeOut, x2, 80, second, true);

screen01.addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);
screen02.addEventListener(MouseEvent.CLICK, clickHandler, false, 0, true);

function clickHandler(event:MouseEvent):void{

        x1 = screen01.x;
        x2 = screen02.x;

        if(event.target == screen01)
        {
            Tween1.start()
            Tween2.start()              
        }
        else if(event.target == screen02)
        {   
            Tween3.start()
            Tween4.start()
        }
}
但是为什么当我点击screen01时它会在左边。然后我点击screen02,screen01返回到430,然后它们都在一起。 当我在MouseEvent中跟踪x1和x2时,坐标已经更新,那么为什么screen01不保持在40,而screen02在左边? 另外,如果screen02打开,当我点击screen01时,两个屏幕都会返回到原来的位置430和470以及screen01之间

我可以假设我的问题是Tween1,Tween2,Tween3和Tween4的起始坐标在初始化后没有改变。有没有办法更新这四个二者的起始坐标,使它们等于x1和x2?

您可以终止这四个二者并开始另一个。对象已部分移动,并将从此点继续。如果你想让移动成比例,那么使用定时器,使用currentTime和totalTime之间的比率(类似的东西),然后改变你乘以比率的距离