我是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
答案 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在编译方面是如何工作的