私がFlashゲーム用に持っているレベルのMovieClipsのいくつかには、私が作成したカスタムビルドのカメラを制御する特定のMovieClipがあります。カメラとMovieClipの両方が正しくスムーズに機能します。ただし、レベルが完了してゲームから削除されるとError #1009
、機能が認識されなくなりcheckCameraZoom
ます。また、このMovieClipはコードで動的に追加されるのではなく、実行前にライブラリから指定されたレベルのMovieClipsに配置されます。このエラーを修正する方法はありますか?
ZoomOutAreaクラス:
package com.engine.assetHolders
{
import com.engine.documentClass.*;
import flash.display.*;
import flash.events.*;
public class ZoomOutArea extends MovieClip
{
public function ZoomOutArea():void
{
this.visible = false;
this.addEventListener(Event.ADDED_TO_STAGE, initZoomOutArea);
// constructor code
}
public function initZoomOutArea(event:Event):void
{
this.addEventListener(Event.ENTER_FRAME, checkCameraZoom);
}
public function checkCameraZoom(event:Event):void
{
if (Document.getInstance != null)
{
if (this.hitTestObject(MovieClip(parent.parent).player.playerHitArea))
{
this.hitTestZoom(0.6);
}
if (! this.hitTestObject(MovieClip(parent.parent).player.playerHitArea))
{
this.hitTestZoom(1);
}
}
}
public function hitTestZoom(zoomLevel):Number
{
MovieClip(parent.parent).cameraScale = zoomLevel;
return zoomLevel;
}
}
}