0

AS3、Flixel、およびコンポーネント/エンティティ システム (はい、すべて同時に) に足を踏み入れていますが、エンティティ (FlxSprite のサブクラス) が正しく追加されていません (つまり、まったく追加されていません)。問題のある行を突き止めるのに 2 時間ほど費やしました。私がそれを取り除くと、ゲームの残りの部分は喜んで一気飲みします.

このコードの何が問題になっていますか?

public function addComponent(c:Component):void                                       
{                                                                                    
  var type:String = Object(c).constructor.toString();                                
  FlxG.log("type=" + type);                                                          
  this._components[type] = c; // The evil line                                       
  FlxG.log("now type=" + _components[type]);                                         
  c.setData(this);                                                                   
}                                                                                    

componentsマップ/辞書として使用されるオブジェクト フィールドです。typeに設定され[class PlayerComponent]ます。グーグルに基づいて、これは有効であり、意図したとおりに機能するはずです。

コンソールからの出力に基づいて、それはその行の後に救済されているだけであり、完全にクラッシュしているわけではありません. どうしたの?詳細については、リクエストに応じて喜んで提供します。

4

1 に答える 1