Чат as 3.0 на Adobe Flash Builder

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Lena
Сообщения: 2
Зарегистрирован: 14 мар 2012, 17:39

Чат as 3.0 на Adobe Flash Builder

Сообщение Lena »

Пытаюсь переделать вот этот чат http://flapps.ru/forum/topic663.html из Adobe Flash Professional в Adobe Flash Builder. Код ошибок не выдает, но когда загружаю swf в контакт сообщения не отправляются :cry: Помогите пожалуйста, кто знает в чем причина

Код: Выделить всё

 <?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"                xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"                width="621" height="460" minWidth="955" minHeight="600" enabled="true"                applicationComplete="Chat();">            <fx:Script>        <![CDATA[                                    import vk.*;            //импотритуем все что нам надо                        public var api_id:Number = 2802708;//ID приложения, которое мы получили вначале            public var api_secret:String = "ikqNBdX9IdjlSRT40PbZ";//Ключ приложения, которое мы получили вначале            public var viewer_id:Number;//id пользователя который просматривает приложение            public var url_loader1:URLLoader = new URLLoader();//лоадеры            public var url_request1:URLRequest = new URLRequest();            public var url_loader2:URLLoader = new URLLoader();            public var url_request2:URLRequest = new URLRequest();            public var url_loader3:URLLoader = new URLLoader();            public var url_request3:URLRequest = new URLRequest();            public var api:VkApiNode;//создаем переменную класса            public var query:String;            public var timer:Timer = new Timer(500);//таймер, по срабатыванию которого будем обновять поле сообщений            public var save:XML=new XML();//XML который хранит сообщения            public var VkAvatar:Loader = new Loader();//Лоадер для аватара            public var VkAvatarUrl:URLRequest = new URLRequest();//путь аватара            public var wrapper:Object;//обьект <<контейнер>>, который загружает в себя приложение                        public function Chat():void            {                 addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );//событие произойдет, когда контейнер полностью загрузит приложение            }                            public function onAddedToStage(e: Event):void {                Security.allowDomain("*");                stage.dispatchEvent(new Event(Event.DEACTIVATE));//решение проблемы неработоспособности некоторых элементов                stage.dispatchEvent(new Event(Event.ACTIVATE));                wrapper = Object(this.parent.parent);//определяем контейнер                viewer_id = wrapper.application.parameters.viewer_id;//передаем переменной знчение id просматривающего приложение                timer.start();//запускаем таймер                                stage.addEventListener(Event.ENTER_FRAME, Emess);//добавляем слушатели                btn.addEventListener(MouseEvent.CLICK, onMessGo);                timer.addEventListener(TimerEvent.TIMER, onGetMess);                Mes_tf.addEventListener(KeyboardEvent.KEY_DOWN, onMessOtpr);                                api=new VkApiNode(viewer_id,api_id,api_secret);//загружаем профиль пользователя и самый маленький аватар(photo_medium и photo_big большее размеры), который просматривает приложение                query=api.getProfiles([viewer_id], ['photo']);                url_request3=new URLRequest(query);                url_loader3=new URLLoader;                url_loader3.addEventListener(Event.COMPLETE, EComplet2);//событие произойдет когда профиль загрузится                url_loader3.load(url_request3);            }                        public function EComplet2(e:Event):void            {                var XmlO:XML = new XML(url_loader3.data);//создаем переменную хранящую профиль                VkAvatarUrl = new URLRequest(XmlO.children()[0].photo);//загружаем аватар                VkAvatar.load(VkAvatarUrl);                VkAvatar.contentLoaderInfo.addEventListener(Event.COMPLETE, onVkAvatar);//событие произойдет когда аватар загрузится            }                        public function onVkAvatar(e:Event):void            {                VkAvatar.x = 2;                VkAvatar.y = 2;                addChild(VkAvatar);//добавляем на сцену аватар            }                        public function onMessOtpr(e:KeyboardEvent):void            {                if(e.keyCode == 13)//если пользавеиель нажал клавишу Enter                {                    if(Mes_tf.text !== "")//если пое для ввода сообщений не пустое                    {                        api=new VkApiNode(viewer_id,api_id,api_secret);//деаем запрос и ставим сообщение в очередь                        query=api.sendMessage(Mes_tf.text);                        url_request1=new URLRequest(query);                        url_loader1=new URLLoader;                        url_loader1.load(url_request1);                        Mes_tf.text = "";                    }                }            }                        public function Emess(e:Event):void            {                if(Mes_tf.text == "")//если поле пустое на кнопку нажать нельзя                {                    btn.enabled = false;                }else{//если нет то можно                    btn.enabled = true;                }            }                        public function onMessGo(e:MouseEvent):void            {                api=new VkApiNode(viewer_id,api_id,api_secret);//деаем запрос и ставим сообщение в очередь                query=api.sendMessage(Mes_tf.text);                url_request1=new URLRequest(query);                url_loader1=new URLLoader;                url_loader1.load(url_request1);                Mes_tf.text = "";            }                        public function onGetMess(e:TimerEvent):void            {                api=new VkApiNode(viewer_id,api_id,api_secret);//загружаем очередь сообщений                query=api.getMessages();                url_request2=new URLRequest(query);                url_loader2=new URLLoader;                url_loader2.addEventListener(Event.COMPLETE, EComplet);                url_loader2.load(url_request2);            }                        public function EComplet(e:Event):void {                if(XML(url_loader2.data).message_info !== null)//если в очереди хоть что-то есть                {                    save = new XML(url_loader2.data);//передаем XML полученные данные                    for(var i:int=0; i<save.message_info[i].length(); i++)//запускаем цикл                    {                        if(save.message_info[i].user_id == viewer_id)//если данное сообщение отправленно пользователем, который просматривает приложение                        {                            pole.htmlText += '<b><font color="#ff0000">' + save.message_info[i].user_name + "</font></b>: " + save.message_info[i].message;//добавляем строку с его именем и сообщением без ссылки и красного цвета                        }else{//если это отправил другой пользователь                            pole.htmlText += '<b><font color="#000080"><a href="http://vk.com/id'+save.message_info[i].user_id+ '">' + save.message_info[i].user_name + '</a>'+ "</font></b>: " + save.message_info[i].message;//добавляем строку с его именем с ссылкой на его страничку синего цвета                        }                    }                }            }                                                        ]]>    </fx:Script>        <fx:Declarations>            </fx:Declarations>         <mx:TextArea id="pole" x="366" width="222" />    <s:Label id="vvid" x="71" y="70"/>    <mx:TextInput id="Mes_tf" visible="true" x="366" width="222" height="27" />    <s:Button id="btn" visible="true" label="Ок" enabled="true"/>    </mx:Application> 
Ответить