Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3-不同包中类的访问属性_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 AS3-不同包中类的访问属性

Actionscript 3 AS3-不同包中类的访问属性,actionscript-3,flash,Actionscript 3,Flash,我在访问不同包的属性时遇到问题。 我无法从FloorTile类访问Assets类的任何属性。如何从资产中获取floorTileData 资产: package src.gfx{ import flash.display.Bitmap; import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; public class Assets{ public var

我在访问不同包的属性时遇到问题。 我无法从FloorTile类访问Assets类的任何属性。如何从资产中获取floorTileData

资产:

package src.gfx{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;

    public class Assets{
        public var floorTileData:BitmapData = new BitmapData(0, 0); 

        //Other Code

    }

}
地板:

package src.tilespack{
import src.gfx.Assets;

    public class FloorTile extends Tile{

        public function FloorTile(ID:int){
            super(Assets.floorTileData, ID); //Error in this line
        }
    }
}
错误是由于这一行引起的

super(Assets.floorTileData, ID);

我得到了错误-1119:通过静态类型类的引用访问可能未定义的属性floorTileData。

出现问题的原因是您试图将变量floorTimeData作为静态变量访问,但它是一个实例变量。因此,你必须思考它应该是什么,并对你的方法做出必要的改变

1) 它应该是一个静态变量(请注意关键字static):

2) 它应该是一个实例变量:

package src.tilespack
{
    import src.gfx.Assets;

    public class FloorTile extends Tile
    {
        public function FloorTile(ID:int)
        {
            var tempAssets:Assets = new Assets();
            super(tempAssets.floorTileData, ID); //Error in this line
        }
    }
}
package src.tilespack
{
    import src.gfx.Assets;

    public class FloorTile extends Tile
    {
        public function FloorTile(ID:int)
        {
            var tempAssets:Assets = new Assets();
            super(tempAssets.floorTileData, ID); //Error in this line
        }
    }
}