我有一个程序,我在其中为舞台创建了一个单例类,这样我就可以在我的其他类中访问它。
我还有一些其他符号,其中包含文本,因此需要在代码中修改文本。
我的问题是,每当我使用 TLF 文本而不是经典文本时,我的任何引用单例阶段类的类都会得到一个“TypeError: Error #1009: Cannot access a property or method of a null object reference."
我以前的程序可以很好地处理 TLF 文本,但这是我第一次在舞台上使用单例类,所以我猜它以某种方式涉及到这一点。
我在其他帖子中尝试了一些解决相关问题(例如发布设置)的解决方案,但到目前为止没有任何效果。
下面是第一个错误发生的地方:
// Constructor
public function Zoom(object:MovieClip) {
// Set the stage
stage = StageManager.instance.stage;
// Set the zoom object
zoomObject = object;
// Add event listener for the mouse wheel
stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseZoom); // ERROR OCCURS HERE
if (Controls.instance.controls.zoomInBtn && Controls.instance.controls.zoomOutBtn) {
Controls.instance.controls.zoomInBtn.addEventListener(MouseEvent.CLICK, zoomIn);
Controls.instance.controls.zoomOutBtn.addEventListener(MouseEvent.CLICK, zoomOut);
}
}
这是单例类:
package {
import flash.display.Stage;
// Singleton class so any other classes can access the stage.
public class StageManager {
// Publicly accessible singleton instance
public static var instance:StageManager = new StageManager();
private var m_stage:Stage;
// Getters and Setters
public function set stage(stg:Stage):void {
m_stage = stg;
}
public function get stage():Stage {
return m_stage;
}
}
}