メイン、プレーヤー、車の3つのクラスがあります。
メインは車とプレーヤーを作成します。車はプレーヤーのx位置をトレースする必要があります。しかし、以下のコードは機能していません。調査したところ、静的であると宣言すると問題が解決するはずですが、それが最善の方法ではないことがわかりました。
主要:
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
public static var _player:Player;
public static var _car:Car;
public function Main()
{
createPlayer();
}
public function createPlayer():void
{
_player= new Player();
_car = new Car();
_player.x = stage.stageWidth / 2;
_player.y = stage.stageHeight / 2;
stage.addChild(_player);
stage.addChild(_car);
}
}
}
車両:
package {
import flash.display.MovieClip;
import Main;
public class Player extends MovieClip
{
public function Player()
{
trace(Main._car.x);
}
}
}
ただし、これによりエラーが発生します。TypeError:エラー#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。Main()のPlayer()でMain()のcreatePlayer()
これがエラーを引き起こしている理由と、これを行うための他の良い方法は何ですか?
//編集:申し訳ありませんが、_heroは私の間違いでした、実際には_carです。どうもありがとうございます...........