Показать сообщение отдельно
Старый 09.02.2009, 00:55
switchfd вне форума Посмотреть профиль Отправить личное сообщение для switchfd Найти все сообщения от switchfd
  № 1  
Ответить с цитированием
switchfd

Регистрация: Feb 2009
Сообщений: 23
По умолчанию Создание сайта с использованием ас3, разбор полетов.

Я конечно дико извиняюсь, что решил поднять такую детскую тему и понимаю что ей здесь не место .Если вы ни принимаете мои извинения тогда можете её удалить.
Ну а если принимаете тогда поехали:

Как известно любой простецкий сайт во флеше да и в большинстве случаев любой флешовский сайт это флеш ролик с навигацией из кнопок при нажатии на которые в него подгружаются друие ролики.
(мде загнул) И так на основной сцене главного мувика. Моожно все "разукрасить" напихать кнопки с навигацией. Создать подгружаемые мувики. Вот все это я сделал а дальше идет вопрос.

Тут в скрипте я начал эксперементировать сподружаемыми мувиками (т.е. страницы : новости, о компании, контакты и т.д.). Так вот меня интересует нужно ли для каждого подгружаемого мувика объявлять переменную? И для оптимизации сайта как лучше сделеать при переходе с странички на страничку лучше делать уже загруженные странички невидимыми, чтобы потом их не пршлось загружать или их отгружать а потом при переходе (нажатии на кнопку) опять загружать?
Если в первом случае есть какие-то мысли ..как написать условия для видимости. Или если ыторой способ лучше то чем. Будут ли загруженные ролики храниться в темпрари.
В общем если вам не понятен мой безумный ббред и вся лирика то скажите как бы сделали вы и если есть исходный код в ас3 поделитесь кому не жалко) А если там будет прелоадер то вообще замечательно)
Когда протрезвею))) объясню все по полочкам)


Код AS3:
package script {  
     import flash.events.*;
	 import flash.display.*;
	 import flash.net.URLRequest;
 
     public class menu extends MovieClip { 
 
	 private var loader:Loader;//Обьявляем переменную
	 private var loader1:Loader;//Обьявляем переменную	 
 
	 public function menu(){
		 stop(); 
 
 
 
	//------- Обработчик вызывает ф-ю  при нажатии
	in_news.addEventListener(MouseEvent.CLICK, clickListener);
	//------- stt- инстанс кнопки
	//stt2.addEventListener(MouseEvent.CLICK, clickListener2);
 
 
	}
 
	 private function clickListener(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("pages/f_news.swf");//Определяем положение файла
 
		 loader=new Loader();//Создаем экземпляр класса Loader
		 loader.x=200;
		 loader.y=300;
		 addChild(loader);
		 loader.load(url);//Начинаем загрузку	
	 }
 
	/* private function clickListener2(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("SimpleClockApp.swf");//Определяем положение файла
 
		 loader1=new Loader();//Создаем экземпляр класса Loader
		 loader1.x=500;
		 loader1.y=400;
		 addChild(loader1);
		 loader1.load(url);//Начинаем загрузку	
		loader.visible=false;
		 q4.play(); 
		 krr.play();}
 
 
	*/
 
 
     } 
}
Добавлено через 3 часа 0 минут
Вот переработанный код...
Код AS3:
package script {  
     import flash.events.*;
	 import flash.display.*;
	 import flash.net.URLRequest;
 
     public class menu extends MovieClip { 
 
	 private var l_News:Loader;
	 private var l_Service:Loader;	 
	 private var l_Contact:Loader;
	 private var l_Group:Loader;
 
	 public function menu(){
		 stop(); 
 
 
 
	//------- Обработчик событий
	in_news.addEventListener(MouseEvent.CLICK, news_cListener);
	in_service.addEventListener(MouseEvent.CLICK, service_cListener);
	in_contact.addEventListener(MouseEvent.CLICK, contact_cListener);
	in_group.addEventListener(MouseEvent.CLICK, group_cListener);
 
	}
 
	 private function news_cListener(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("pages/f_news.swf");
 
		 l_News=new Loader();
		 l_News.x=200;
		 l_News.y=300;
		 addChild(l_News);
		 l_News.load(url);
	 }
 
		 private function service_cListener(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("pages/f_service.swf");
 
		 l_Service=new Loader();
		 l_Service.x=200;
		 l_Service.y=300;
		 addChild(l_Service);
		 l_Service.load(url);
	 }
	 private function contact_cListener(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("pages/f_contact.swf");
 
		 l_Contact=new Loader();
		 l_Contact.x=200;
		 l_Contact.y=300;
		 addChild(l_Contact);
		 l_Contact.load(url);
	 }
 
		 private function group_cListener(e:MouseEvent):void{
 
		var url:URLRequest=new URLRequest("pages/f_group.swf");
 
		 l_Group=new Loader();
		 l_Group.x=200;
		 l_Group.y=300;
		 addChild(l_Group);
		 l_Group.load(url);
	 }
 
 
 
 
 
     } 
}
Добавлено через 3 часа 4 минуты
Выглядит очень некрасиво. При том при нажатии на кнопки страница подгружается повторно(. И вообще интересно что лучше помещать в ад чайлд переменную или её контент...Черт выглядит как-то топорно.((

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

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

Добавлено через 3 часа 11 минут
Теперь надо сделать так чтобы проверялось условие: если страница уже загружена при переходе на другую страницу она становилась невидимой.