将 AS2 代码转换为 AS3 格式
Convert AS2 Code to AS3 Format
请帮我把下面的代码转换成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();
}
;
正如所提供代码的第“3”行所指出的,SHEMA.gotoAndStop(sframe);
他们都是 MovieClips
而不是 As2 Classes/Keywords.
在 AS3 中一切正常,只需替换(为所有事件函数执行此操作)
onRollOver = function ()
{
CopyFromShema(3);
};
使用 As3 事件处理程序
stage.addEventListener(MouseEvent.ROLL_OVER, function(e:MouseEvent):void {
CopyFromShema(3);
});
关于其他鼠标事件:
- onRollOut : MouseEvent.ROLL_OUT
- onPress : MouseEvent.MOUSE_DOWN
- 发布 : MouseEvent.MOUSE_UP
- onDragOver : N/A(它的 MOUSE_OVER 而 MOUSE_DOWN)
- onDragOut : N/A(它的 MOUSE_OUT 而 MOUSE_DOWN)
那么如何处理 as3 中的不可用事件?它们是可用的,但你必须用一堆可用事件来处理它们,here 就是一个例子。
[更新]为什么要将 AS2 更改为 AS3?
大多数时候,没有必要将 AS2 移植到 AS3,但您可以简单地将 AS2 项目编译为 swf,然后将它们嵌入到 AS3 项目中,让它们通过 LocalConnection
如前所述 here
请帮我把下面的代码转换成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();
}
;
正如所提供代码的第“3”行所指出的,SHEMA.gotoAndStop(sframe);
他们都是 MovieClips
而不是 As2 Classes/Keywords.
在 AS3 中一切正常,只需替换(为所有事件函数执行此操作)
onRollOver = function ()
{
CopyFromShema(3);
};
使用 As3 事件处理程序
stage.addEventListener(MouseEvent.ROLL_OVER, function(e:MouseEvent):void {
CopyFromShema(3);
});
关于其他鼠标事件:
- onRollOut : MouseEvent.ROLL_OUT
- onPress : MouseEvent.MOUSE_DOWN
- 发布 : MouseEvent.MOUSE_UP
- onDragOver : N/A(它的 MOUSE_OVER 而 MOUSE_DOWN)
- onDragOut : N/A(它的 MOUSE_OUT 而 MOUSE_DOWN)
那么如何处理 as3 中的不可用事件?它们是可用的,但你必须用一堆可用事件来处理它们,here 就是一个例子。
[更新]为什么要将 AS2 更改为 AS3?
大多数时候,没有必要将 AS2 移植到 AS3,但您可以简单地将 AS2 项目编译为 swf,然后将它们嵌入到 AS3 项目中,让它们通过 LocalConnection
如前所述 here