2009-08-25 2 views
1

У меня есть следующий код ActionScript:этап доступа от «основного» класса

package { 
    import flash.display.Sprite; 

    public class Application extends Sprite { 
     public function Application(){ 
      width=1000; 
      height=500; 
     } 
    } 
} 

Что я компилировать с mxmlc Application.as. Я заметил, что приложение не является объектом сцены, как я и думал, потому что ширина и высота сцены не меняются.

Как вы узнали о завершении проекта с Application?

ответ

1

Вы тонко не понимаете, что означает «Этап». Этап является эталонным нижним уровнем в области отображения флэш должен работать, поэтому его размер в конечном счете продиктован контейнером вспышки выполняется в.

Таким образом, при просмотре содержимого в автономном Flash-плеер, для изменения размера сцены, которую вы сами изменяете сами, и когда вы просматриваете свой контент, встроенный в HTML-страницу, сцена изменяется только тогда, когда браузер изменяет размер элемента Flash, встроенного в него (например, через Javascript). Аналогично, если ваша флешка была встроена в .NET-приложение, логика .NET контролирует размер сцены и т. Д.

По этим причинам, как правило, невозможно изменить размер сцены из логики приложения, если только контейнер не предоставляет способ сделать это. Большинство браузеров действительно предоставляют такую ​​функциональность через JavaScript, поэтому в браузере вы обычно можете изменить размер сцены, вызвав крючки JS, чтобы изменить размер встроенного элемента Flash. Напротив, автономный игрок не предоставляет таких крючков, поэтому изменение размера сцены невозможно (за исключением того, что вы можете переключать полноэкранный режим).

В качестве примечания стороны, как указывает Джоэл Хукс, вы можете включить заявление в свой проект формы: [SWF(width=1000,height=500)]. Это приводит к тому, что скомпилированный SWF содержит метаданные для указанного размера. Однако эти метаданные являются лишь предположением, и это полностью зависит от контейнера, следует ли его соблюдать или нет. Отдельный игрок будет соблюдать такие метаданные (для начального размера контейнера), но браузеры полностью игнорируют его.

Смежные вопросы