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

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

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

Регистрация: Nov 2007
Сообщений: 165
Question Resize подгружаемого swf

Привет.

Флешка 1.swf подгружает в себя 2.swf. При клике на кнопку - контент в 2.swf увеличивается в несколько раз.

В 1.swf написан ресайз пропорциональный, но когда 2.swf увеличивается, то ресайз начинает вести себя некорректно.

Подскажите плз каким образом можно корректно ресайзить подгружаемую флешку. Тоесть чтобы она ресайзилась одинаково как до увеличения так и после?

Пример есть в CS5.5
Вложения
Тип файла: zip TEST SWF.zip (21.2 Кб, 33 просмотров)
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

Старый 22.08.2011, 17:46
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 2  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Долго будете ждать ответа. Советую продемонстрировать конкретную часть кода, с загрузкой и ресайзом.

Старый 22.08.2011, 18:25
zveryuka вне форума Посмотреть профиль Отправить личное сообщение для zveryuka Найти все сообщения от zveryuka
  № 3  
Ответить с цитированием
zveryuka
 
Аватар для zveryuka

Регистрация: Nov 2007
Сообщений: 165
код для 1.swf

Код AS3:
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.display.MovieClip;
 
 
stage.align = "TL";
stage.scaleMode = "noScale";
 
   var myVideo:MovieClip = new MyVideo();
 
 
   var mLoader:Loader = new Loader();
 
	mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
 
	mLoader.load(new URLRequest("2.swf"));
 
 
function onCompleteHandler(loadEvent:Event){
	var mc:MovieClip = loadEvent.currentTarget.content;
 
 
             myVideo.addChild(mc);
 
	     addChild(myVideo)
 
}
 
 
 var billy:Number=0;
 var willy:Number=0;
 
 stage.addEventListener (Event.RESIZE, resizeListener);
 
	function resizeListener(e:Event){
 
				billy   = myVideo.height / myVideo.width;
				willy = myVideo.width / myVideo.height;
 
			if ((stage.stageHeight / stage.stageWidth) > billy) {
					myVideo.width = stage.stageWidth;
					myVideo.height = billy * myVideo.width;
			} else {
					myVideo.height = stage.stageHeight;
					myVideo.width = willy * myVideo.height;
			};
 
					myVideo.x = (stage.stageWidth - myVideo.width)/2;
					myVideo.y = (stage.stageHeight - myVideo.height)/2;
	}

код для 2.swf

Код AS3:
import flash.events.MouseEvent;
 
	var flag:Boolean;
 
	btn.addEventListener(MouseEvent.CLICK, CLICKfnc);
	function CLICKfnc(e:MouseEvent){
		if(!flag){
			btn.scaleX = 6;
			btn.scaleY = 6;
 
			btn.x = -500;
			btn.y = -700;
			flag=true;
		}else{
			btn.scaleX = 1;
			btn.scaleY = 1;
			flag=false;
 
			btn.x = 0;
			btn.y = 0;
		}
 
	}
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

Старый 22.08.2011, 18:31
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 4  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Цитата:
В 1.swf написан ресайз пропорциональный, но когда 2.swf увеличивается, то ресайз начинает вести себя некорректно.
Цитата:
Подскажите плз каким образом можно корректно ресайзить подгружаемую флешку
Что значит "некорректно". Что должно происходить по вашей задумке?

Старый 22.08.2011, 19:04
zveryuka вне форума Посмотреть профиль Отправить личное сообщение для zveryuka Найти все сообщения от zveryuka
  № 5  
Ответить с цитированием
zveryuka
 
Аватар для zveryuka

Регистрация: Nov 2007
Сообщений: 165
Тоесть видимая область (например обоих флешек 1280на720). И когда при нажати на кнопку 2.swf увеличивается,то из-за этого флешка 2.swf становится например 7680w и 4320h и поэтому ресайз в 1.swf начинает скакать.
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

Старый 22.08.2011, 19:27
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 6  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Код AS3:
stage.addEventListener (Event.RESIZE, resizeListener);
Сработает при изменении размеров FlashPlayer а не при изменении размеров внутренней графики. Поэтому у вас эта ф-ция вообще не запускается.

Вот этот код:
Код AS3:
btn.scaleX = 6;
btn.scaleY = 6;
сильно увеличивает размер вашей кнопки. Поэтому вам нужно, после изменения размеров 2.swf запускать проверку в 1.swf. Это может быть либо запуск ф-ции на прямую, либо диспатчите событие из 2.swf и ловите его в 1.swf.
Код AS3:
var mc:MovieClip = loadEvent.currentTarget.content;
mc.addEventListener(Event.CHANGE, resizeListener)
Что бы продиспатчить событие:
Код AS3:
dispatchEvent(new Event(Event.CHANGE));

Старый 22.08.2011, 21:15
zveryuka вне форума Посмотреть профиль Отправить личное сообщение для zveryuka Найти все сообщения от zveryuka
  № 7  
Ответить с цитированием
zveryuka
 
Аватар для zveryuka

Регистрация: Nov 2007
Сообщений: 165
Спасибо
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

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

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

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


 


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


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