AS3 - 访问不同包中的 属性 of Class
AS3 - Access Property of Class in different package
我在访问不同包的属性时遇到问题。
我无法从 FloorTile Class 访问资产 class 的任何属性。如何从 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:通过静态类型 Class.
的引用访问可能未定义的 属性 floorTileData
问题的发生是因为您试图将变量 floorTimeData 作为静态变量访问,但它是一个实例变量。因此,您必须考虑它应该是什么,并对您的方法进行必要的更改。
1)应该是静态变量(请注意关键字static):
package src.gfx
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
public class Assets
{
public static var floorTileData:BitmapData = new BitmapData(0, 0);
}
}
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
}
}
}
我在访问不同包的属性时遇到问题。 我无法从 FloorTile Class 访问资产 class 的任何属性。如何从 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:通过静态类型 Class.
的引用访问可能未定义的 属性 floorTileData问题的发生是因为您试图将变量 floorTimeData 作为静态变量访问,但它是一个实例变量。因此,您必须考虑它应该是什么,并对您的方法进行必要的更改。
1)应该是静态变量(请注意关键字static):
package src.gfx
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
public class Assets
{
public static var floorTileData:BitmapData = new BitmapData(0, 0);
}
}
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
}
}
}