as3 flashdevelop中的classpath

时间:2012-08-21 19:35:19

标签: actionscript-3 flashdevelop

我是AS3的新手。我使用FlashDevelop 4.我没有Adobe Flash,只有FD(纯AS3)我有类路径问题。我搜索了数据库,但我发现没有什么可以帮助我。所以问题如下。

我在C:\ AS App \ Testing中使用Main.as文件进行了“Testing”项目。我还有文件夹C:\ AS App \ W_T。在此文件夹中是文件write_text.as。 Main.as文件看起来像这样:

package
{
import flash.display.*;
import flash.text.TextField;
import flash.events.*;
import W_T.write_text;
public class Main extends Sprite
{
    var t:TextField=new TextField();

    public function Main():void
    {
            stage.addChild(t);
            stage.addEventListener(MouseEvent.CLICK, write);
    }

    public function write(me:MouseEvent):void
    {
        var wt:W_T.write_text = new W_T.write_text();
            t.x = 100;
            t.y = 100;          
            t.text = wt.output();
    }
}
}

文件write_text.as看起来像这样:

package W_T
{
import flash.display.*;
import flash.text.TextField;
import flash.events.*;
import W_T.*;

public class write_text
{
    public function write_text()
    {
    }

    public function output():String 
    {
        var txt:String;

        txt = "From function !";
        return(txt);
    }
}
}

我在全局类路径中制作了相应的规范。但我得到以下错误:

错误:未找到类型或不是编译时常量:write_text。 var wt:W_T.write_text = new W_T.write_text();

错误:调用可能未定义的方法write_text。 var wt:W_T.write_text = new W_T.write_text();

定义W_T:找不到write_text。 import W_T.write_text;

你能帮我找一下我做错了吗?

谢谢。

EB

2 个答案:

答案 0 :(得分:1)

问题是编译器没有找到你的write_text.as文件。默认情况下,它将在这里查看:

C:\ AS App \ Testing \ W_T \ write_text.as

尝试相应调整,看看它是否有效。当您声明package W_T { }时,flash会在名为W_T的子文件夹中查找与公共类同名的文件。

当你只是声明package { }没有名字的时候,它会查看你的类库路径的根目录,它似乎是一个名为Testing的文件夹,如果那是你的main.as文件所在的位置活。

如果你想为你的类文件使用一个公共文件夹(它没有嵌套在一个单独的项目文件夹中),你可以通过转到:project - >告诉flash开发它们在哪里找到它们。属性,然后是Classpaths选项卡。默认情况下,flash develop只会查看相对于项目的文件夹。

答案 1 :(得分:0)

问题是你还没告诉编译器(flex?)在哪里找到文件。当你将它添加为类路径时,你只告诉flash开发在哪里找到文件,而不是编译器。

首先,您必须检查编译方式,其次,如何更改和添加解决方案的类路径.u

我通常通过ant脚本和build.xml文件执行此操作,但遗憾的是我不记得"纯as3" -projects在编译方面是如何工作的