我正在尝试在flash中创建文件夹层次结构,我拥有的文件夹是
C:\ UK \交流\乌韦\网页游戏\数学
在math文件夹中,我有以下名为GameMath.as的文件
package uk.ac.uwe.webgames.math{
public class GameMath {
// ------- Constructor -------
public function GameMath() {
}
// ------- Properties -------
const PI:Number = Math.PI;
// ------- Methods -------
public function areaOfCircle(radius:Number):Number {
var area:Number;
area = PI * radius * radius;
return area;
}
}
}
在webgames文件夹中,我有一个名为webgames_driver.fla
的文件import uk.ac.uwe.webgames.math.GameMath;
import flash.text.TextField;
// Create a GameMath instance
var output:TextField = new TextField();
var aGameMathInstance:GameMath = new GameMath();
// you will need to create a dynamic textfield called
// output on the stage to display method return value
output.text=aGameMathInstance.areaOfCircle(5).toString();
addChild(output);
//trace(aGameMathInstance.areaOfCircle(1))
然而我收到以下错误
场景1,层'层1',帧1,线1 1172:定义 uk.ac.uwe.webgames.math:找不到GameMath。
场景1,层'层1',帧1,线1 1172:定义 uk.ac.uwe.webgames.math:找不到GameMath。
场景1,图层'第1层',第1帧,第5行1046:未找到类型或 不是编译时常量:GameMath。
场景1,图层'第1层',第1帧,第5行1180:呼叫可能 未定义的方法GameMath。
任何人都可以帮忙,因为我只是卡住了,而且我真的很喜欢闪光灯
答案 0 :(得分:0)
我会尽可能地将其作为基本和详细的术语,不仅仅是为了您的利益,而是为了阅读这个对自定义课程不是非常有经验的其他人。最好现在把它全部拿出来避免混淆。 (我知道我希望有些人在我早期的一些问题上给了我这么详细的信息......)
导入代码用于导入.as类。如你所知,在类的顶部,你会得到类似这样的代码(除了我自己的自定义类,Trailcrest)。
package trailcrest
{
public class sonus
{
然后,在我的.fla或.as文件中,我可以使用
import trailcrest.sonus;
我将提到您的.fla必须位于包含要导入的所有自定义类的主目录中。我的文件布局是这样的(括号中的文件夹):
MyProject.fla
MyDocumentClass.as
(trailcrest)
sonus.as
请注意,我的包名称与文件夹结构相对应,包含.fla的文件夹被假定为代码的起始位置。如果我想使用像trailcrest.v1这样的包名,那么文件夹必须是这样的:
MyProject.fla
MyDocumentClass.as
(trailcrest)
(v1)
sonus.as
然后,我会使用
引用我的自定义类import trailcrest.v1.sonus;
请注意,MyProject.fla必须位于该文件夹结构的主目录中。这是因为Flash无法向后搜索文件夹,只能向前搜索。所以,如果我有一个像......的结构。
(project)
MyProject.fla
MyDocumentClass.as
(trailcrest)
sonus.as
...然后,代码行......
import trailcrest.sonus;
...将搜索路径“\ project \ trailcrest \ sonus.as”,如您所见,它不存在。 Flash无法转到“\ project \”的父文件夹。
您的代码行
import uk.ac.uwe.webgames.math.GameMath;
...正在寻找路径“ webgames \ uk \ ac \ use \ webgames \ math \ GameMath.as ”。 (请记住,代码假定包含.fla作为起始位置的文件夹,因此代码实际上是尝试转到“ C:\ uk \ ac \ uwe \ webgames \ uk \ ac \ use \ webgames \ math \ GameMath.as “)
要解决此问题,您需要更改GameMath.as的软件包:。
package math{
...以及代码中的import语句:
import math.GameMath;
这会将所有内容指向文字路径“ C:\ uk \ ac \ uwe \ webgames \ math \ GameMath.as ”
我希望这能回答你的问题!