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

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

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

Регистрация: Nov 2007
Сообщений: 61
По умолчанию localconnection для одной флэшки

Здравствуйте!
На одной странице подгружаются несколько одинаковых флешек с проигрывателем музыки. Для каждой из флешек с помощью flashvars передаются ссылки на треки. После окончания проигрывания трека на одной из флешкек должен начать проигрываться трек на другой.
Я сейчас пытаюсь с помощью localconnection просто включить трек, но увы.

Код AS3:
var channel:SoundChannel = new SoundChannel();
var vol:SoundTransform = new SoundTransform(0, 0);
var sound:Sound = new Sound(new URLRequest(track_url));
 
var receiving_lc:LocalConnection = new LocalConnection();
receiving_lc.connect("lc_name");
function play_next():void
{
	channel = sound.play(0, 1, vol);
}
 
play_button.addEventListener (MouseEvent.MOUSE_DOWN, onPlayButton);
function onPlayButton (event:MouseEvent):void
{
	var sending_lc:LocalConnection = new LocalConnection();
	sending_lc.send("lc_name", "play_next");
}
Кто-нибудь сталкивался с подобной задачей?


Последний раз редактировалось Jex; 12.02.2012 в 01:53.
Старый 12.02.2012, 02:33
Цветкофф вне форума Посмотреть профиль Отправить личное сообщение для Цветкофф Найти все сообщения от Цветкофф
  № 2  
Ответить с цитированием
Цветкофф

Регистрация: May 2008
Адрес: москва
Сообщений: 63
Код AS3:
var channel:SoundChannel = new SoundChannel();
var vol:SoundTransform = new SoundTransform(0, 0);
var sound:Sound = new Sound(new URLRequest(track_url));
 
var receiving_lc:LocalConnection = new LocalConnection();
receiving_lc.connect("lc_name");
receiving_lc.play_next = function():void
{
	channel = sound.play(0, 1, vol);
}
 
play_button.addEventListener (MouseEvent.MOUSE_DOWN, onPlayButton);
function onPlayButton (event:MouseEvent):void
{
	var sending_lc:LocalConnection = new LocalConnection();
	sending_lc.send("lc_name", "play_next");
}
не проверял, но на мой взгляд так должно работать

Старый 12.02.2012, 13:45
Jex вне форума Посмотреть профиль Отправить личное сообщение для Jex Найти все сообщения от Jex
  № 3  
Ответить с цитированием
Jex

Регистрация: Nov 2007
Сообщений: 61
Не работает (

Старый 12.02.2012, 17:28
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не очень понятно, что вы пытаетесь делать
Код AS3:
receiving_lc.connect("lc_name");
это какбы попытка всех повесить на одно LC
к "lc_name" подсоединится только первая флешка, только она и получит send("lc_name", "play_next"), т.е. походу она сама себе же и шлет
чтобы такое реализовать для нескольких флешек, каждая из них должна подсоединиться к уникальному lc_name, ну и если нужно именно ей скомандовать что-то, то на ее lc_name и слать
уникальные id можно раздать, например, через те же флешварсы, ну и список всех участников тоже..

Старый 14.02.2012, 13:48
Jex вне форума Посмотреть профиль Отправить личное сообщение для Jex Найти все сообщения от Jex
  № 5  
Ответить с цитированием
Jex

Регистрация: Nov 2007
Сообщений: 61
Дык она даже сама от себя ничего не принимает. Даже если она одна на странице. Мне бы хотелось для начала с этим разобраться)
Можете написать несколько работающих строк?)

Старый 14.02.2012, 14:07
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
дык г_вопрос
вот работающий пример, сделай чтоб перестало - будем разбираться
Код AS3:
package
{
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
 
 
	public class Main extends Sprite
	{
		private var lc:LocalConnection;
		private var lcName:String = "blabla";
 
		public function Main():void
		{
 
			lc = new LocalConnection();
			lc.client = this;// м.б. в этом дело?
 
 
			try
			{
				lc.connect(lcName);
			}
			catch (err:Error)
			{
				// вторая не сумееет уже
				trace( "err : " + err );
 
			}
			// на клике смотрим
			stage.addEventListener(MouseEvent.CLICK, stage_click);
		}
 
 
		private function stage_click(e:MouseEvent):void
		{
			lc.send(lcName, "lcCommand");
		}
 
		public function lcCommand():void
		{
			// сама себе шлет..
			// точно также пошлет и соседу, если тот подключен, канеш
			trace( "Main.lcCommand" );
 
		}
	}
 
}

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

Регистрация: Nov 2007
Сообщений: 61
Код AS3:
lc.client = this;// м.б. в этом дело?
Да, спасибо!) Я не знал.

Делаю чтоб перестало дальше)

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

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

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


 


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


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