このスーパークラス グリッド クラスと、GrassTile1、GrassTile2 などという名前のグリッド クラスのサブクラスがあります。サブクラスのインスタンスはすべて配列に格納されます。サブクラスのインスタンスを、配列を参照するスーパークラスに変換するにはどうすればよいですか?
private var backgroundGrid = []; //the array which the grids are stored in, in the main class.
public class Grid extends MovieClip
{
protected var node :PathfindNode; //the variable I wish to access, from an instance of subclass.
public function Grid(){
node = new PathfindNode();
}
}
public class GrassTile1 extends Grid { //every subclass of Grid will extends Grid
public function GrassTile1() {
// constructor code
}
}
function getBackgroundGrid(i:int,j:int):Grid{ //in the main class
return Grid(backgroundGrid[i][j]); // this line gives me an error
}
TypeError: エラー #1034: 型強制に失敗しました: GrassTile1@2905d5f1 を Grid に変換できません。
backgroundGrid[i][j].node にアクセスしようとしましたが、考えられる回避策と失敗しました。何か案が?