【问题标题】:Convert AS2 Code to AS3 Format将 AS2 代码转换为 AS3 格式
【发布时间】:2017-08-14 07:39:53
【问题描述】:

请帮我把下面的代码转换成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();
}
;

【问题讨论】:

    标签: actionscript-3 flash format actionscript-2


    【解决方案1】:

    正如所提供代码的“3”行所指出的那样,SHEMA.gotoAndStop(sframe); 它们都是 MovieClips 而不是 As2 类/关键字。

    在 AS3 中一切正常,只需替换(为所有事件函数执行此操作)

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

    使用 As3 事件处理程序

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

    关于其他鼠标事件:

    1. onRollOut : MouseEvent.ROLL_OUT
    2. onPress : MouseEvent.MOUSE_DOWN
    3. onRelease : MouseEvent.MOUSE_UP
    4. onDragOver:N/A(其 MOUSE_OVER 而 MOUSE_DOWN)
    5. onDragOut:N/A(其 MOUSE_OUT 而 MOUSE_DOWN)

    那么如何处理 as3 中的不可用事件?它们是可用的,但你必须用一堆可用的事件来处理它们,here 就是一个例子。


    [update] 为什么要把 AS2 改成 AS3?

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

    【讨论】:

    • 嘿,谢谢 payam,但是 BASE 例如与“root”或“this”无关?
    • 我知道,但我需要一个没有任何 as2 干扰的 as3 项目。
    • @Castiel 我不太了解您的变量及其结构,这仅通过一小段代码是无法理解的,但是这个新问题与将 AS2 移植到 AS3 无关
    • 再问一个问题,onPress、onRelease、onDragOver、onDragOut 在 AS3 中对应的名称是什么?
    • @Castiel 如果您使用的是 Adob​​e Flash Professional(或更早的 Adob​​e Animate),只需从代码编辑器自动完成中询问它,这是最快的解决方案,但最好的解决方案是前往 help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… | Adobe Docs它们都在里面列出
    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2018-04-19
    相关资源
    最近更新 更多