Событие onResize

Довольно часто при создании эффектов, основанных на изменении размеров окна плейера, бывает нужно знать момент, когда это изменение производит пользователь. Например, наш шарик, упруго отражающийся от границ окна плейера, может в результате смешения границы попросту оказаться за пределами отображаемой области фильма. Чтобы этого не происходило, необходимо в момент изменения размеров окна плейера перемешать шарик в точку центра стандартной области фильма.

Но как узнать, что граница окна была сдвинула? Для этого нужно использовать специальное событие onResize объекта Stage.

Событие onResize срабатывает только в том случае, если используется режим масштабирования «noScale». И это полностью оправданно, так как даже если и существовала бы возможность узнать, что размер окна плейера изменился (например, при применении режима масштабирования «showAll»), то этой информацией все явно нельзя было бы воспользоваться.

Событие onResize изначально не имеет листенеров. Чтобы «подписать» объект на получение сообщений о данном событии, нужно использовать метод addListener() объекта Stage. Удалить объект из числа листенеров события onResize() позваляет метод removeListener().

В качестве примера использования события onResize приведем код, улучшающий созданный выше эффект с шариком, отражающимся от границ плейера:

// При изменении размеров окна плейера, смещаем шарик в точку центра фильма
Stage.addListener(this);
this.onResize=function():Void {
ball._x=mov_width/2, ball._y=mov_height/2;
};

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Action Script на эту тему:
Взаимодействие с принтером
Взаимодействие со средой разработки
Взаимодействие со средствами чтения с экрана
Объект CustomActions
Определение размеров фильма и величины окна плейера