GameWorld.as、96 行目 1180: 未定義の可能性のあるメソッド initialize を呼び出します。
IController を実装するコントローラーを GameWorld に追加しています。
addController(new BackgroundController(this));
public function addController(controller:IController):void
{
controller.initialize();
controllers.push(controller);
}
public interface IController
{
function initialize():void; //setup the controller
function getType():String; //define the controller by a type string
function update():void; //perform update actions
function destroy():void; //cleanup the controller
}
initialize は IController のメソッドですが、突然未定義になりました
構文エラーが発生せず、コードを動作状態に戻すことができないようです。
何が原因でしょうか?
これが BackgroundController です。
package controller
{
import Entity;
import flash.display.Bitmap;
import flash.display.Sprite;
public class BackgroundController implements IController
{
private var world:GameWorld;
private var images:Vector.<Bitmap>;
private var bgImage:Sprite;
public function BackgroundController(world:GameWorld)
{
this.world = world;
}
public function initialize():void
{
bgImage = new Sprite();
images = new Vector.<Bitmap>();
var ypos:int = 0;
for (var i:int = 0; i < 3; i++ )
{
var tempBmp:Bitmap = new Bitmap(new grasstile(0, 0));
images.push(tempBmp);
bgImage.addChild(tempBmp);
tempBmp.y = ypos;
ypos += 500;
}
GameWorld.lowerLayer.addChild(bgImage);
}
public function update():void
{
//update the background tiles
for (var i:int = 0; i < 3; i++ )
{
images[i].y -= world.gameSpeed;
if (images[i].y < -500 )
{
images[i].y += 1500;
}
}
}
public function getType():String
{
return "Background";
}
public function destroy():void
{
}
}
}