我正试图将其他人的闪存应用程序转换为ActionScript 3,我以前从未处理过ActionScript。我试着按照错误信息告诉我的去做,但是他们在绕我转。因此,这里是一个简化的情况。我在基本文件夹中有一个操作脚本,如下所示:
class IF12345
{
var a0:controls.Button;
var a1:controls.TextArea;
var a2:controls.TextInput;
}现在,控件如下所示:
dynamic class mx.controls.Button extends mx.controls.SimpleButton
{
var enabled;
function Button()
{
}
function draw()
{
}
var borderW = 1;
}第一个错误是,它抱怨一个操作脚本必须有一个外部可见的类,所以我在基本文件中向类添加了public。然后它说没有包就不能有一个公共类,所以我把它包装在一个包中。
之后,它说操作脚本必须有一个外部可见的控件类,所以我向控件类添加了public。当然,它随后抱怨需要在包中,但是当我将控制类放到包中时,它说我不能有一个嵌套的包。所以现在我不知道该怎么办了?
发布于 2014-01-20 22:01:17
看起来你在几个问题上搞混了,但我看到的主要问题是,你似乎想让类名包括整个包。我认为你想要的一个例子是:
package controls
// ^^^^^^^^ The controls package is defined here, not when providing the
// class name like in your example.
{
import flash.display.SimpleButton;
// ^^^^^^^^^^^^^ In ActionScript 3, SimpleButton is in the
// flash.display package, and needs to be imported with an
// import statement above the class definition.
public class Button extends SimpleButton
// ^^^^^^ We only use the class name here. You can do the fully
// qualified class name for the extended class, but the
// import statement is cleaner and makes that unnecessary
// except for in uncommon circumstances.
{
private var enabled:Boolean = false;
private var borderW:int = 1;
public function Button()
{
// Constructors must be public.
}
public function draw()
{
//
}
}
}还有你的另一班:
package
{
import controls.Button;
// ^^^^^^^^^^^^^^^ Need to import your above Button class.
public class IF12345
{
public var a0:Button;
}
}https://stackoverflow.com/questions/21244423
复制相似问题