Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.12.2008, 21:30
egoscope вне форума Посмотреть профиль Отправить личное сообщение для egoscope Найти все сообщения от egoscope
  № 1  
Ответить с цитированием
egoscope

Регистрация: Dec 2008
Сообщений: 16
По умолчанию Класс связанный с RESIZE

Вот класс
Код AS3:
package com.adyson {
 
 // Import all the classes that are needed
 import flash.display.Sprite;
 import flash.display.StageAlign;
 import flash.display.StageScaleMode;
 import flash.events.Event;
 public class StageResize {
 
  // The movielcips to be centered and stretched
  private var _targetArea:MovieClip; // this
  private var _targetCent:MovieClip; // clip to be centered
  private var _targetBack:MovieClip; // stretched background
 
  public function StageResize(targetArea:MovieClip, targetCent:MovieClip, targetBack:MovieClip) {
 
   this._targetArea = targetArea;
   this._targetCent = targetCent;
   this._targetBack = targetBack;
 
   // Stage scalemode and position
   stage.align = StageAlign.TOP_LEFT;
   stage.scaleMode = StageScaleMode.NO_SCALE;
 
   // Event listeners
   stage.addEventListener(Event.ACTIVATE, activateHandler);
   stage.addEventListener(Event.RESIZE, resizeHandler);
  }
  private function activateHandler(event:Event):void {
   //
  }
  private function resizeHandler(event:Event):void {
 
   _targetCent.x = stage.stageWidth / 2 - _targetCent.width / 2;
   _targetCent.y = stage.stageHeight / 2 - _targetCent.height / 2;
   _targetBack.width = stage.stageWidth;
   _targetBack.height = stage.stageHeight;
 
  }
 }
}
Я в ActionScript пока не силен, поэтому буду признателен тем, кто растолкует мне некоторые его непонятные моменты. В целом назначение класса понятно. Есть представление для чего он нужен. Непонятно следующее:a) что дает эта строка?
Код AS3:
stage.addEventListener(Event.ACTIVATE, activateHandler);
Какого ее применение? Что активирует в данном случае этот ивэнтхэндлер? b) для каких целей вводится переменная _targetArea? Нужна ли она? Как ее можно использовать? с) Вопрос таков: вызывая этот класс из document class надо именно в нем прописать параметры переменных _targetCent и _targetBack (например, если мне надо, чтобы _targetCent был всегда stage.stageWidth / 2), или правильней (возможно логичней) прописать все необходимые параметры переменных непосредственно в этом классе? Заранее всем спасибо за ответы.


Последний раз редактировалось egoscope; 24.12.2008 в 21:34. Причина: Ошибки
Старый 24.12.2008, 22:35
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 2  
Ответить с цитированием
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Какой то код у вас странный, по идее Event.ACTIVATE и Event.RESIZE на одну фукцию привязывают.

Код AS3:
   stage.addEventListener(Event.ACTIVATE, onRes);
   stage.addEventListener(Event.RESIZE, onRes);
 
private function onRes(event:Event):void {
trace(event.type, stage.stageWidth, stage.stageHeight) ;
}
ACTIVATE - "активирует" саму флешку при открытии, в этот момент событие Ресайз ещё не происходит, т.к. ничего не ресайзится, чтобы было понятнее просто добавте trace(event.type) и посмотрите кто и когда срабатывает.
__________________
"I am the terror that flaps in the night…!"


Последний раз редактировалось CEBEP; 24.12.2008 в 22:39.
Старый 24.12.2008, 23:01
egoscope вне форума Посмотреть профиль Отправить личное сообщение для egoscope Найти все сообщения от egoscope
  № 3  
Ответить с цитированием
egoscope

Регистрация: Dec 2008
Сообщений: 16
СЕВЕР, спасибо за разъяснение. Код был найден в одном из форумов, я рассчитываю его использовать, собственно поэтому меня интересуют частности, которые мне не понятны. Так все же, необходим ли этот ивентхэндлер и метод (я о activate) или нет? Что он в принципе может активировать?

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.