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

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

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

Регистрация: Dec 2010
Сообщений: 129
Question Косячно открываются ссылки на youtube

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

Вот это для слое ютуба (да, к сожалению пишу не ООП):
Код AS3:
 
var urlText,urlText_id, url_you, url_v:String;
 
url_you="http://www.youtube.com/v/";
url_v="?version=3";
 
 
var pattern:RegExp = /watch(?:\/|(?:\?|.*&)v=)([\w\-]+)/ig; 
var str:String;
var result:Array; 
 
var urlReq:URLRequest;
 
var player:Object;
 
function Main(urlText_new):void
        {
			result = pattern.exec(urlText_new);
			urlText_id=result[1];
			trace(urlText_id);
 
 
			str=url_you+urlText_id+url_v;
			trace("str функции Main "+str);
			urlReq= new URLRequest(str);
 
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
 
         function init(e:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            Security.allowDomain("www.youtube.com");
 
 
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
            loader.load(urlReq);
 
 
            function onLoaderInit(event:Event):void {
                addChild(loader);
				player = loader.content;
				player.addEventListener("onReady", onPlayerReady);
				trace(player.x);
				player.x=-250;
				player.y=-60;
				player.scaleX=0.87;
				player.scaleY=0.87;
				trace(player.x);
 
 
            }
            function onPlayerReady(event:Event):void {
                trace("player ready:", Object(event).data);
 
 
            }
        }
а вот код на кпопках, данные беру из XML:

Код AS3:
video_video.visible=false;
youtube.visible=false;
 
 
 
pf_present.kav.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.pol.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.rus.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.reg1.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.reg2.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.ssk.addEventListener(MouseEvent.CLICK, presentClick);
pf_present.ter.addEventListener(MouseEvent.CLICK, presentClick);
 
video_video.close_y.addEventListener(MouseEvent.CLICK, closeYoutube);
 
function closeYoutube (q:MouseEvent):void{
	video_video.visible=false;
	youtube.visible=false;
	youtube.urlText=" ";
	youtube.player.pauseVideo();
}
 
var xmlPath_portfolio:String = "xml/acc_panel.xml";
var xml_portfolio:XML;
 
var loader_portfolio = new URLLoader();
loader_portfolio.load(new URLRequest(xmlPath_portfolio));
loader_portfolio.addEventListener(Event.COMPLETE, xmlLoader_pf);
function xmlLoader_pf(q:Event):void{
 
		xml_portfolio = new XML(loader_portfolio.data);
		trace(xml_portfolio.data.item[0].@title, xml_portfolio.data.item.@text);
 
}
 
 
function presentClick (q:MouseEvent):void{
	video_video.visible=true;
 
	switch(q.target.name){
 
	case "kav":
 
	youtube.Main(xml_portfolio.data.item[0].@title);
	youtube.visible=true;
	youtube.Main(xml_portfolio.data.item[0].@title);
 
	break;
 
	case "pol":
 
 
	youtube.Main(xml_portfolio.data.item[1].@title);
	youtube.visible=true;
	youtube.Main(xml_portfolio.data.item[1].@title);
 
	break;
 
	case "rus":
 
	youtube.Main(xml_portfolio.data.item[2].@title);
	youtube.visible=true;
	youtube.Main(xml_portfolio.data.item[2].@title);
 
	break;
 
	}
}
__________________
--
Какой бы путь ты не выбрал, лягушка прыгнет врятли

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

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

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


 


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


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