Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > с swf в другой swf


Автор: White_Wolf 13.11.2006, 07:47
значить такая ситуация...: на одной хтмл страничке расположенно 2 swf_ки. одна - menu, вторая некий bloknot, в котором отображаються все пункты меню. при нажатии на пункт меню в блокноте должна меняться инфа в соответствии с пунктами, каждая инфа это следующий кадр на главной ленте. так вот вопрос - как при нажатии на пункт в первой swf заставить показать второй кадр во второй swf ?  smile  smile  smile 

Автор: AlDev 13.11.2006, 08:50
класс LocalConnection. Читай help

Автор: belka 13.11.2006, 09:22
White_Wolf, ну ты чего, тебе ж писали в http://forum.vingrad.ru/topic-119837.html - про LocalConnection!!! он служит для того, чтобы ПЕРЕДАВАТЬ ДАННЫЕ МЕЖДУ ФИЛЬМАМИ, ВЫПОЛНЯЮЩИМИСЯ НА ОДНОЙ МАШИНЕ!!!
(но! опят таки повторюсь - это не выход, не советую использовать LocalConnection :-)

Автор: AlDev 13.11.2006, 09:39
belka, 
Ты предлагаешь делать в html-ке javascript, который будет осуществлять взаимодействие? =)))

все таки LocalConnection это гуд. Просто что бы избавиться от твоей проблемы можно определять откуда пришел пакет smile

Автор: belka 13.11.2006, 09:44
Цитата(AlDev @  13.11.2006,  09:39 Найти цитируемый пост)
Просто что бы избавиться от твоей проблемы можно определять откуда пришел пакет

ммм.. интересно! а можно поподробнее?  smile 

Автор: AlDev 13.11.2006, 11:00
передавать источник вместе с данными. типа как id="2q3wedcxzgsrt5435" и проверять его в том, что пришло.
Если нет вопроса безопасности обмена данными это самое простое решение =)

Автор: White_Wolf 13.11.2006, 16:37
Цитата(belka @ 13.11.2006,  09:22)
(но! опят таки повторюсь - это не выход, не советую использовать LocalConnection :-)

дак если не выход... тогда где же выход? хотя я так почитал и мне понравилось то как мона использовать LocalConnection !

Добавлено @ 16:39 
Цитата(AlDev @ 13.11.2006,  11:00)
передавать источник вместе с данными. типа как id="2q3wedcxzgsrt5435" и проверять его в том, что пришло.
Если нет вопроса безопасности обмена данными это самое простое решение =)

 smile ...эт ты такое что-то закрутил... я до такого ещё не дорос  smile 
лучше буду грызть LocalConnection !

Добавлено @ 16:41 
А вообще спасибки вам за инфу! для меня она очень ценна, так как негде больше учиться... smile 
ток вот ещё вопросик по этому поводу... как привязать LocalConnection к нажатию кнопки  smile  нигде такого ненаписанно!

Автор: AlDev 13.11.2006, 19:28
нажатие кнопки - buttonInstanceName.onRelease
Надо переопределить метод onRelease у кнопки. buttonInstanceName - id кнопки, указаный в свойствах

Автор: White_Wolf 14.11.2006, 18:05
люди! убейте меня идиота, но тока объясните сначала...  smile  smile 

в файле отправителе пишу такой код на кнопочку
Код
on (release) {
    but1.onRelease = function() {
        var sending_lc:LocalConnection = new LocalConnection();
        sending_lc.send("blok", "plei");
    };
}


в файле получателе должно переключиться на следующий кадр, пишу такой код
Код
stop();
nextFrame = function () {
    var receiving_lc:LocalConnection = new LocalConnection();
    receiving_lc.connect("blok", "plei");
    plei = nextFrame();
};


вижу, что гдето чтото нетак... но где и что... тыкните меня туда носом  smile 

Автор: AlDev 15.11.2006, 02:19
on (event) - убей ап стенку. в клипе где у тебя кнопка без всяких on пиши код.
И читай help. Там все есть.
Код

this.createTextField("tf", this.getNextHighestDepth(), 10, 10, 300, 100);
var aLocalConnection:LocalConnection = new LocalConnection();
aLocalConnection.connect("demoConnection");
aLocalConnection.printOut = function(aString:String):Void{
    tf.text += aString;
}


Код

btn1.onRelease = function():Void
{
  var sending_lc:LocalConnection = new LocalConnection();
  sending_lc.send("demoConnection", "printOut", "This is a message from file B. Hello.");
}

Автор: belka 15.11.2006, 13:39
Цитата(AlDev @  13.11.2006,  11:00 Найти цитируемый пост)
передавать источник вместе с данными. типа как id="2q3wedcxzgsrt5435" и проверять его в том, что пришло.
Если нет вопроса безопасности обмена данными это самое простое решение =)

я в шоке!

AlDev, извини конечно, но помоему ты не прав!

Автор: White_Wolf 15.11.2006, 13:53
AlDev, 
ты создаёш текстовую строку в которой будет штото отображаться, а мне нуна просто передать параметр или функцию перехода на следующий кадр! ...или я не правильно понял твой пример?

Автор: belka 15.11.2006, 15:11
White_Wolf, лови пример!
если это не то, что тебе нужно, то я ваще тебя не понимаю (ЗЫ - разорхивируй и запусти s.html) 

Автор: White_Wolf 15.11.2006, 22:51
belka, 
спасибо тебе брат! это именно то что нужно! smile  ...и код в файле отправителе ципляется не на кнопочку а вставляеться просто в первый кадр клипа!!!! вот так! теперь есть рабочий пример, от него то теперь мона и отталкиваться, используя эту функцию в других назначениях!

ещё раз огромнейшее спасибо!!!

Автор: belka 16.11.2006, 08:50
Цитата(White_Wolf @  15.11.2006,  22:51 Найти цитируемый пост)
огромнейшее спасибо!!! 

без базара, брат! )

Автор: AlDev 16.11.2006, 15:11
belka, 
эм =)))) Я ДУРАК  smile 
бред написал smile))))))))))))
И тока щас дошло =))))))))))))))

Автор: White_Wolf 16.11.2006, 18:00
belka, 
прикол ток знаеш в чём обнаружил? нуна всётаки на кнопочку конкретно вешать код в файле отправителе! а то при клике в любом месте мувика идёт передача параметров... smile  такое ощущение что перестарались!  smile  smile 

Автор: belka 17.11.2006, 08:44
AlDev, я рада за тебя!
Но вот в чем вопрос: как решить такую проблему??

Добавлено @ 08:51 
Цитата(White_Wolf @  16.11.2006,  18:00 Найти цитируемый пост)
такое ощущение что перестарались!  

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

Автор: AlDev 17.11.2006, 10:47
belka, 
Ну хм.
Код


function getMovie(movieName)
{
  if (navigator.appName.indexOf ("Microsoft")!=-1)
  {
    return window[movieName];
  } else
  {
    return document[movieName];
  }
} 

function sendToFlash(element,name,value)
{
  getMovie(element).setData(name,value);
}

Код

import mx.external.ExternalInterface;

this.createTextField('dataLog',this.getNextHighestDepth(),0,0,100,100);
var dataLog:TextField = this['dataLog'];
dataLog.multiline = true;
dataLog.text = "";

function setData(name:String,value:String):Void
{
    dataLog.text += name+' = '+value+"\n";
}

ExternalInterface.addCallback('setData',null,setData);


для отправки юзать
Код

import mx.external.ExternalInterface;
ExternalInterface.call('sendToFlash','testFlash','testName','testValue');


testFlash - id Flash-ки в html

Автор: belka 17.11.2006, 11:22
AlDev, ништяг! )

Автор: AlDev 17.11.2006, 11:26
belka, 
ну тут тока смысл. я код не проверял

Автор: White_Wolf 17.11.2006, 14:59
Цитата(belka @ 17.11.2006,  08:44)
да я на скорую руку делала, там ведь никаких проблем то нету - просто код из первого фрейма вырезаешь и вставляешь в символ! и делов-то! главное принцип чтоб понятен был!

всё уже сделал правильно! теперь всё работает !
...код в файле отправителе, вписываем в кадр...
Код
sConn = new LocalConnection();
    but1.onRelease = function() {
        sConn.send("ch1", "next_frame1");
    };

...код в файле получателе...
Код
rConn = new LocalConnection();
rConn.connect("ch1");
rConn.next_frame1 = function() {
    _root.gotoAndStop(8);

};


вот конкретно всё работает! "but1" - это имя записанное в свойствах кнопки!
вот когда есть хоть один рабочий пример, то от него мона плясать в другом направлении!

спасиб те Бельчёнок! smile  smile 

Автор: belka 17.11.2006, 15:39
Цитата(White_Wolf @  17.11.2006,  14:59 Найти цитируемый пост)
спасиб те Бельчёнок!

 smile 

Автор: White_Wolf 20.11.2006, 15:41
так а теперь такой вопрос стал! эт мы передавали параметры на главную линейку клипа... а вот если передать параметр в мувик который находиться несколько внутри флешки? у меня не получаеться... я знаю что нужно указать уровень! ток где его указывать и как правильно?  smile  smile 

Автор: AlDev 21.11.2006, 14:44
нах уровень? Делай по instance name обращение

Автор: White_Wolf 21.11.2006, 17:49
AlDev, а мона чуточку подробнее ???  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)