Для использования методов контейнера на АS2 я пользовался классом ApiConnection.as
сам класс называем ApiConnection.as и ложим рядом с вашим *.fla файлом
Ниже - сам класс:
- class APIConnection
- {
- var conName, isCon, localCon, main, onError;
- function APIConnection(conName)
- {
- this.conName = conName;
- isCon = false;
- localCon = new LocalConnection();
- localCon.allowDomain = function (sendingDomain)
- {
- return (true);
- };
- localCon.main = this;
- localCon.onWindowBlur = function ()
- {
- main.onWindowBlur();
- };
- localCon.onWindowFocus = function ()
- {
- main.onWindowFocus();
- };
- localCon.onBalanceChanged = function (balance)
- {
- main.onBalanceChanged(parseInt(balance));
- };
- localCon.onSettingsChanged = function (settings)
- {
- main.onSettingsChanged(parseInt(settings));
- };
- localCon.onApplicationAdded = function ()
- {
- main.onApplicationAdded();
- };
- localCon.onStatus = function (loaded)
- {
- if (loaded.level == "status")
- {
- if (!main.isCon)
- {
- main.isCon = true;
- main.onInit();
- }
- else
- {
- main.onMethod();
- }
- }
- else if (!main.isCon)
- {
- main.onError(1);
- }
- else
- {
- main.onError(2);
- }
- };
- }
- function startConnection()
- {
- if (!isCon)
- {
- localCon.connect("_out_" + conName);
- localCon.send("_in_" + conName, "initConnection");
- return (true);
- }
- else
- {
- return (false);
- }
- }
- function showInstallBox()
- {
- this.sendMethod(new Array("showInstallBox"));
- }
- function showSettingsBox(settings)
- {
- this.sendMethod(new Array("showSettingsBox", settings.toString()));
- }
- function showInviteBox()
- {
- this.sendMethod(new Array("showInviteBox"));
- }
- function showPaymentBox(votes)
- {
- this.sendMethod(new Array("showPaymentBox", votes.toString()));
- }
- function sendMethod(paramsArr)
- {
- if (isCon)
- {
- if (paramsArr.length == 1)
- {
- localCon.send("_in_" + conName, paramsArr[0]);
- }
- else if (paramsArr.length == 2)
- {
- localCon.send("_in_" + conName, paramsArr[0], paramsArr[1]);
- }
- else
- {
- this.onError(3);
- }
- }
- else
- ; {
- this.onError(4);
- }
- }
- }
Для использования класса необходимо инициализировать его - в первом фрейме пишем:
- var apiCon = new APIConnection(_root.lc_name);
- apiCon.startConnection();
- apiCon.onInit = function ()//это необходимо если надо выполнить метод сразу после инициализации
- {
- apiCon.showInstallBox();
- apiCon.onApplicationAdded = function ()
- {
- trace("Приложение было только что добавлено");
- };
- };
В панели Actions кнопкам можем присваивать скрипты:
- on(Release)
- {
- apiCon.Show(Здесь название метода контейнера)
- }

