установите частоту кадров как общедоступную статическую переменную или общедоступную константу в вашем основном классе документов (или, если когда-либо доступна ссылка на сцену), затем вызовите эту статическую переменную из вашего служебного класса:
Класс документа
package
{
//Imports
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
//Class
[SWF(width = "1000", height = "500", BackgroundColor = "0x555555")]
public class DocumentClass extends Sprite
{
//Static Variables
public static var FRAME_RATE:uint;
//Constructor
public function DocumentClass()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = FRAME_RATE = 60;
//...
}
}
}
Класс полезности
package
{
//Imports
import flash.events.EventDispatcher;
//Class
public class UtilityClass extends EventDispatcher
{
//Constructor
public function UtilityClass()
{
trace("SWF Frame Rate: " + DocumentClass.FRAME_RATE);
}
}
}
[EDIT]:
в вашем случае, когда у вас нет прямого доступа к стадии, ваши пользователи могут передать значение stage.frameRate
конструктору вашего служебного класса, но я уверен, что вы согласитесь, что этот подход не очень элегантный. я думаю, что ваша идея измерить интервалы между событиями ENTER_FRAME - лучшее решение.