Actionscript 3 as3 flashdevelop中的类路径
我是AS3的新手。我使用flash4。我没有AdobeFlash,只有FD(纯AS3)我的类路径有问题。我搜索了数据库,但没有找到对我有帮助的东西。因此,问题如下 我在C:\AS App\Testing中有一个项目“Testing”,文件Main.AS。我还有文件夹C:\AS App\W\T。在这个文件夹中有文件write\u text.AS。Main.as文件如下所示:Actionscript 3 as3 flashdevelop中的类路径,actionscript-3,flashdevelop,Actionscript 3,Flashdevelop,我是AS3的新手。我使用flash4。我没有AdobeFlash,只有FD(纯AS3)我的类路径有问题。我搜索了数据库,但没有找到对我有帮助的东西。因此,问题如下 我在C:\AS App\Testing中有一个项目“Testing”,文件Main.AS。我还有文件夹C:\AS App\W\T。在这个文件夹中有文件write\u text.AS。Main.as文件如下所示: package { import flash.display.*; import flash.text.TextField;
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();
}
}
}
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.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();
}
}
}
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=新W_T.write_text()
错误:调用可能未定义的方法write_text。
var wt:W_T.write_text=新W_T.write_text()
定义:找不到写入文本。
导入W_T.写入文本
你能帮我找出哪里做错了吗
多谢各位
EB问题是您没有告诉编译器(flex?)在哪里找到文件。当您将其添加为类路径时,您只告诉FlashDevelop在哪里可以找到文件,而不是编译器 首先,你必须检查你如何编译,其次,你如何为你的解决方案更改和添加类路径
我通常通过ant脚本和build.xml文件来实现这一点,不幸的是,我记不起“纯as3”项目在编译方面是如何工作的。问题是编译器找不到write_text.as文件。默认情况下,它将在此处查看: C:\AS App\Testing\W\u T\write\u text.AS 试着进行相应的调整,看看是否有效。当您声明
package W_T{}
flash将在名为W_T的子文件夹中查找与公共类同名的文件
当您只声明没有名称的package{}
时,它将查找类库路径的根目录,这似乎是一个名为Testing的文件夹,如果main.as文件所在的位置就是这个文件夹
如果要为类文件使用公共文件夹(不嵌套在单个项目文件夹中),可以通过转到:project->properties,然后转到Classpaths选项卡,告诉flash develop在哪里可以找到它们。默认情况下,flash develop将只查找与项目相关的文件夹。我不清楚:“package W\u T”不在文件夹C:\AS App\Testing中,而是在文件夹C:\AS App\中。因此,文件write_text.as在文件夹C:\as App\W\u T中。谢谢。我知道,我是说它不工作,因为它希望它在C:\as App\Testing\W\T中。Thanx,现在正在工作,一切正常。我想知道为什么在我指定路径时它不起作用(我的意思是在项目属性或全局设置中指定路径)。再次使用Thabx。如果文件夹位于C:\AS APP\W\u T\write\u text.AS,则必须将其添加为APP才能工作。但是,由于您的项目是AS应用程序的子文件夹,因此可能会产生奇怪的结果。无论您指定什么路径,它都将在名为W_T的子文件夹中查找,因为这是您声明包的方式。因此,如果您在项目属性中将路径C:\AS App\W\u T\添加为类路径(我怀疑您正在尝试),它将在C:\AS App\W\u T\W\u T\write\u text.AS中查找您的文件。如果此答案最有助于您解决问题,请将其标记为正确。还要投票选出其他有用的人的答案