将AS2代码转换为AS3格式

时间:2017-03-22 09:28:36

标签: actionscript-3 flash format actionscript-2

请帮我把下面的代码转换为as3。我不知道AS3的“SHEMA”,“BASE”,“GLANCE”等是什么。非常感谢。 此代码正在写入影片剪辑中。

function CopyFromShema(sframe)
{
    SHEMA.gotoAndStop(sframe);
    GLANCE.filters = SHEMA.GLANCE.filters;
    BASE.filters = SHEMA.BASE.filters;
    CAPTION.filters = SHEMA.CAPTION.filters;
}
SHEMA._visible = false;
SHEMA.gotoAndStop(1);
BASE.scale9Grid = new flash.geom.Rectangle(10, 10, 100, 5);
GLANCE.scale9Grid = new flash.geom.Rectangle(10, 6, 100, 2);
onRollOver = function ()
{
    CopyFromShema(3);
}
;
onRollOut = function ()
{
    CopyFromShema(2);
}
;
onPress = function ()
{
    CopyFromShema(4);
}
;
onRelease = function ()
{
    CopyFromShema(3);
}
;
onDragOver = function ()
{
    onPress();
}
;
onDragOut = function ()
{
    onRollOut();
}
;

1 个答案:

答案 0 :(得分:2)

如#34; 3"提供的代码,SHEMA.gotoAndStop(sframe); 它们都是MovieClips而不是As2类/关键字。

AS3中的所有内容都可以替换(为所有事件功能执行此操作)

onRollOver = function ()
{
    CopyFromShema(3);
};

使用As3事件处理程序

stage.addEventListener(MouseEvent.ROLL_OVER, function(e:MouseEvent):void {
    CopyFromShema(3);
});

关于其他MouseEvents:

  1. onRollOut :MouseEvent.ROLL_OUT
  2. onPress :MouseEvent.MOUSE_DOWN
  3. onRelease :MouseEvent.MOUSE_UP
  4. onDragOver :N / A(在MOUSE_DOWN时为MOUSE_OVER)
  5. onDragOut :N / A(当MOUSE_DOWN时为MOUSE_OUT)
  6. 那么如何处理as3中的不可用事件呢?它们是可用的,但您必须使用大量可用事件来处理它们, here 就是一个例子。

    [更新]为什么将AS2转为AS3?

    大多数情况下,没有真正需要将AS2移植到AS3,但您可以简单地将AS2项目编译为swf,然后将它们嵌入到AS3项目中,并让它们通过LocalConnection相互通信如上所述 here