SWF-тег и размер сцены в коде предзагрузчика - PullRequest
0 голосов
/ 10 ноября 2011

Я пытаюсь получить размер фрейма SWFs из кода предзагрузчика. Пожалуйста, посмотрите на пример:

[SWF(width='640',height='480',backgroundColor='0xFF00FF',frameRate='60')]
[Frame(factoryClass="MyPreloader")]
public class Main extends Sprite
{
    //My main class, which handles the "Application logic"
}

public class MyPreloader extends MovieClip 
{
    //My preloader code - how to get SWF width from here?
}

Когда я компилирую и встраиваю это в HTML-страницу, я получаю SWF с правильным размером - 640x480 с розовым цветом. Таким образом, «[SWF ..]» был интерпретирован правильно. Так же как и «[Frame ..]», потому что выполняется код предварительного загрузчика.

Я не могу получить размер SWF из кода предзагрузчика (из конструктора или из метода обратного вызова события Event.ADDED_TO_STAGE). Пока я пробовал:

  • this.stage.width (возвращено 0)
  • this.stage.loaderInfo.width (есть ошибка # 2099)
  • this.width (возвращено 0)

Есть ли другой способ получить размер SWF?

1 Ответ

1 голос
/ 10 ноября 2011

Вам нужно: stage.stageWidth и stage.stageHeight . Конечно после Event.ADDED_TO_STAGE, но вы уже это сделали.

Свойство stage.width возвращает ширину содержимого на сцене и, поскольку там, вероятно, ничего нет, возвращается 0.

...