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

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

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

Регистрация: Sep 2005
Сообщений: 93
По умолчанию подгрузка swf в клип

и так столкнулся с проблемой
Имеется 5 пунктов меню при нажатии на каждый подгружается в мувик новая swf старая выгружается

пробывал сделать так:
Код AS3:
var request:URLRequest = new URLRequest("glav.swf"); 
var loader:Loader = new Loader() 
loader.load(request); 
mains0.mains.main1.main0.addChild(loader);
 
 
mains0.btn_glav.onRelease = function() {
var request:URLRequest = new URLRequest("glav1.swf"); 
var loader:Loader = new Loader() 
loader.load(request); 
mains0.mains.main1.main0.addChild(loader);
		};
 
mains0.btn_glav1.onRelease = function() {
var request:URLRequest = new URLRequest("glav2.swf"); 
var loader:Loader = new Loader() 
loader.load(request); 
mains0.mains.main1.main0.addChild(loader);
		};
не работает подскажите что не так... говорю сразу я новичек в as3
и нужно ли делать выгрузку предыдущего файла если да то как?

Старый 06.07.2010, 16:31
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 2  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
если предполагается, что пользователь может вернуться к просмотру предыдущей главы, то лучше не выгружать, а делать disable+hide, соответственно при загрузке смотреть "если еще не был загружен ранее"
Код AS3:
...if(myglav!==null)
а так у вас все они скопятся в одном контейнере.
Если все же нужно именно удалять, что не советую, то
Код AS3:
mains0.mains.main1.main0.removeChild(loader);
loder=null

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

Регистрация: Sep 2005
Сообщений: 93
не получается ругается на 1120 как и в предыдущем

По подробнее можно насчет первого варианта когда не выгружать

Старый 06.07.2010, 19:46
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 4  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Код AS3:
package 
{
 
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.display.DisplayObject;
 
 
	public class Main extends MovieClip
	{
 
		var myBut1:but1_mc=new but1_mc();//кнопка в библиотеке с Linkage "but1_mc"
		var myBut2:but2_mc=new but2_mc();
		var myCont:cont = new cont();
		var myBut_arr:Array=new Array();
		var myLoader1:Loader;
		var myLoader2:Loader;
 
 
		public function Main()
		{
			addChild(myBut1);
			addChild(myBut2);
			addChild(myCont);
			myBut1.y = 350;
			myBut2.y = 350;
			myBut2.x = 110;
			myBut1.addEventListener(MouseEvent.CLICK,But1Click);
			myBut2.addEventListener(MouseEvent.CLICK,But2Click);
		}
		private function But1Click(e:MouseEvent):void
		{
			if (myLoader1 === null)
			{
				var myRequest:URLRequest = new URLRequest("../swf/1.swf");
				myLoader1=new Loader();
				myLoader1.load(myRequest);
				myCont.addChild(myLoader1);
			}
			else
			{
				myLoader1.visible = true;
				myLoader2.visible = false;
			}
		}
		private function But2Click(e:MouseEvent):void
		{
			if (myLoader2 === null)
			{
				var myRequest:URLRequest = new URLRequest("../swf/2.swf");
				myLoader2=new Loader();
				myLoader2.load(myRequest);
				myCont.addChild(myLoader2);
				myBut_arr.push(myLoader2);
			}
			else
			{
				myLoader1.visible = false;
				myLoader2.visible = true;
			}
		}
	}
}
вот написал - впринципе работает но протестировать времени нету (((
вариант не лучший, можно еще подумать как упростить код через циклы+массивы если кнопок много, но тут главное суть что загрузка просиходит 1 раз. а потом только переключение видимости контента.

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

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

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


 


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


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