2010-01-22 2 views
0

Здравствуйте, я новичок в Flash, я пытаюсь сделать следующее:вызвать функцию флэш сценария из другого сценария флэш

в одной вспышке страницы сценария я хочу вызвать функцию, принадлежащую другому flash-скрипт, как это сделать?

Заранее спасибо.

+0

являются двумя swfs на этой же странице? – sberry

+0

Нет, они принадлежат к двум разным страницам – andrea

+0

моей идеей является загрузка другой страницы, а затем вызов функции, которую я хочу вызвать .... Я могу загрузить другую страницу ... но тогда я не знаю, как вызвать функция ... – andrea

ответ

3

Вы можете достичь этого, используя LocalConnection.

Получение SWF:

private var localConnection:LocalConnection 
//inside constructor 
{ 
    localConnection = new LocalConnection(); 
    //in case both SWF's are in different domains 
    localConnection.allowDomain("sender.swf's.domain"); 
    //in case receiver is in HTTPS and sender is non-HTTPS 
    localConnection.allowInsecureDomain("sender.swf's.domain"); 
    localConnection.connect("connectionName"); 
    localConnection.client = this; 

    //initialize TextField (tf) here 
} 
public function writeMsg(msg:String):void 
{ 
    tf.text += "\nReceived message\n" + msg; 
}  

Отправка SWF:

private var localConnection:LocalConnection; 
private var connectionName:String; 
//inside the constructor 
{ 
    connectionName = "connectionName"; //use the same name as in receiver 
    localConnection = new LocalConnection(); 
    localConnection.addEventListener(StatusEvent.STATUS, onStatus); 
    localConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecError); 
} 

//to call the "writeMsg" function in the receiver SWF from sender SWF 
localConnection.send(connectionName, "writeMsg", "It works!"); 

private function onStatus(e:StatusEvent):void 
{ 
    trace("statusEventHandler: code = " + e.code + ", level = " + e.level); 
} 
private function onSecError(e:SecurityErrorEvent):void 
{ 
    trace("unable to make LocalConnection due to Security Error: " + e.text); 
} 

Помните, что локальные соединения симплекс - коммуникации являются одним из способов. Для двусторонней связи вам необходимо настроить еще одну пару локальных соединений и вызвать connect из соответствующего SWF с другим именем соединения.

+0

Это потрясающе. Это был «недостающий кусок», который мне нужен, чтобы реализовать рабочий процесс «подключиться к Facebook» внутри Flash-объекта ... –

Смежные вопросы