flash cs5.5中的文件夹层次结构

时间:2012-11-11 14:47:29

标签: flash-cs5

我正在尝试在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。

任何人都可以帮忙,因为我只是卡住了,而且我真的很喜欢闪光灯

1 个答案:

答案 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

我希望这能回答你的问题!