Actionscript 将简单AS2转换为AS3

Actionscript 将简单AS2转换为AS3,actionscript,Actionscript,我需要一个简单问题的帮助——将一些ActionScript2转换为AS3。该脚本用于滑动面板。我想我需要添加我的事件侦听器,但我不确定如何添加 舞台上有三个按钮:b1、b2和closeb。滑动的面板称为bigSlide,其中包含称为slide1和slide2的独立部分 提前谢谢 stop(); var currentPosition:Number = bigSlide.slide1.x; var startFlag:Boolean = false; menuSlide = function (

我需要一个简单问题的帮助——将一些ActionScript2转换为AS3。该脚本用于滑动面板。我想我需要添加我的事件侦听器,但我不确定如何添加

舞台上有三个按钮:b1、b2和closeb。滑动的面板称为bigSlide,其中包含称为slide1和slide2的独立部分

提前谢谢

stop();

var currentPosition:Number = bigSlide.slide1.x;
var startFlag:Boolean = false;
menuSlide = function (input:MovieClip) {
if (startFlag == false) {

startFlag = true;

var finalDestination:Number = input.x;
var distanceMoved:Number = 0;
var distanceToMove:Number = Math.abs(finalDestination-currentPosition);
var finalSpeed:Number = .3;
var currentSpeed:Number = 0;
var dir:Number = 1;

if (currentPosition<=finalDestination) {
dir = -1;
} else if (currentPosition>finalDestination) {
dir = 1;
}

this.onEnterFrame = function() {
currentSpeed = Math.round((distanceToMove-distanceMoved+1)*finalSpeed);
distanceMoved += currentSpeed;
bigSlide.x += dir*currentSpeed;
if (Math.abs(distanceMoved-distanceToMove)<=1) {
bigSlide.x = maskMovie.x-currentPosition+dir*distanceToMove;
currentPosition = input.x;
startFlag = false;
delete this.onEnterFrame;
}
};
}
};
b1.onRelease = function() {
menuSlide(bigSlide.slide1);
};
bigSlide.slide1.more.onRelease = function() {
menuSlide(bigSlide.slide2);
};
b2.onRelease = function() {
menuSlide(bigSlide.slide2);
};

closeb.onRelease = function() {
 root.myLoader.contentPath = null;
}
stop();
var currentPosition:Number=bigSlide.slide1.x;
var startFlag:Boolean=false;
menuSlide=函数(输入:MovieClip){
if(startFlag==false){
startFlag=true;
var finalDestination:Number=input.x;
var distanceMoved:Number=0;
var distanceToMove:Number=Math.abs(最终目标当前位置);
var最终速度:数字=.3;
无功电流速度:数字=0;
var-dir:Number=1;
if(当前位置最终目标){
dir=1;
}
this.onEnterFrame=函数(){
当前速度=数学圆((距离移动距离+1)*最终速度);
距离移动+=当前速度;
bigSlide.x+=dir*currentSpeed;

如果(Math.abs(distanceMoved distanceToMove)从输入帧事件开始:

this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);

function enterFrameHandler(event:Event):void
{
    var target:MovieClip = MovieClip(event.target);
}
目标将被设置为事件的目标(此)。因此您可以操作其属性。您必须在脚本顶部声明“currentSpeed”和“distanceMoved”以及其他变量,因为AS3对于变量声明并不宽容

要添加鼠标侦听器,请执行以下操作:

b1.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent)
{
    menuSlide();
}
别忘了你必须:

import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
导入您正在引用的类

delete this.onEnterFrame;
在AS3中将

this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);

这应该可以让你开始了。以后可以编辑更多。如果你以前从未这样做过,我不会把从AS2到AS3的跳转称为“简单问题”。这完全不同,祝你好运!

用上面的示例替换events b1.onRelease=function(){。