ПРОСТОЙ ВОПРОС - ОТВЕТ (только Flash)
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
Timon132009, с помощью URLLoader загружаешь страницу и записываешь ответ в текстовое поле textfield.text="";
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
есть идеи как это сделать?Noise Gate писал(а):sersche
и почему бы не делать это параллельно?....
привык работать с циклами..
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
параллельно, это без извращений. Не нужно париться когда закончится загрузка одного чтобы вызвать загрузку следующего. Я в таких случаях создаю еще один класс который одновременно и отвечает за отображение на экране, и за загрузку, тогда вообще проблем 0. Ты просто при создании экземпляра передаешь ему в конструктор ссылку на то, что нужно загрузить, он это все обрабатывает, загружает, отображает. А затем ты работаешь с ним как с объектом, меняешь расположение на сцене, отлавливаешь события на нем и тебя совершенно не волнует вопрос массивов лоадеров и прочего
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
Noise Gate, смотри)) задача по сути такова: реализовать в одном приложении два урока. я уже расписывал - чтобы и аватар выводился с именем, и велся учет посещений юзеров в БД. когда делаю по отдельности (двумя разными файлами swf + Main.as) - все работает. То есть смотри... есть два куска кода: оба одинаковые по структуре: первый кода для отображения аватара:
и второй для работы с БД:
и когда оба эти кода вставляю в один Main.as - ругается на public class Main extends Sprite {. я и сам понимаю, что по логике заново обьявлять класс не следует - но вот как соединить эти два кода, чтобы все работало?)))
Еще раз дам ссылки на оба урока: http://flapps.ru/forum/topic165.html и http://flapps.ru/forum/topic3.html
Вот как то так...))
спасибо
Код: Выделить всё
package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.display.*; import flash.events.*; import flash.text.*; public class Main extends Sprite {бла бла бла}
Код: Выделить всё
package { import flash.net.*; import flash.display.*; public class Main extends Sprite {бла бла бла}
Еще раз дам ссылки на оба урока: http://flapps.ru/forum/topic165.html и http://flapps.ru/forum/topic3.html
Вот как то так...))
спасибо
-
- Сообщения: 691
- Зарегистрирован: 28 апр 2010, 12:34
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
CRADLE
ох... как же лень код то переписывать)))))
надеюсь, ничего не забыл...
ох... как же лень код то переписывать)))))
Код: Выделить всё
package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.display.*; import flash.events.*; import flash.text.*; import flash.net.*; public class Main extends Sprite { // это все из урока про аватар private var api_id:Number=743131; // id вашего приложения private var api_secret:String="sE4VlnFfSQ"; // секретный ключ private var externalXML:XML; private var loader:URLLoader = new URLLoader(); private var photoLoader:Loader = new Loader(); private var viewer_id:Number; private var sig:String; private var uid:String; private var bdate_txt:TextField = new TextField(); private var name_txt:TextField = new TextField(); public function Main():void { // узнаём id пользователя, который просматривает приложение var params:Object=LoaderInfo(root.loaderInfo).parameters; viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1; // получаем профиль этого пользователя getProfile(viewer_id); // а вот сюда впихиваем статистику // создание запроса var stat_loader:URLLoader = new URLLoader(); var stat_request:URLRequest=new URLRequest("http://flapps.ru/stat.php");// заменяем на ссылку к вашему скрипту stat_request.method=URLRequestMethod.POST; // добавление параметров в запрос var stat_vars:URLVariables = new URLVariables(); stat_vars['auth_key']=LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars stat_vars['viewer_id']=LoaderInfo(root.loaderInfo).parameters.viewer_id;// ID просматривающего приложение stat_request.data=stat_vars; // выполнение запроса stat_loader.load(stat_request); } private function getProfile(uid):void { // функция получения профиля sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret); var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+uid+"&fields=bdate,photo_big&v=2.0&sig="+sig); loader.load(request); loader.addEventListener(Event.COMPLETE, onComplete); } private function onComplete(event:Event):void { // функция выполняется когда профиль был загружен bdate_txt.text=''; if (loader!=null) { externalXML=new XML(loader.data); // отображаем дату рождения var bdate = externalXML..bdate; bdate_txt.text=bdate; bdate_txt.x=490; bdate_txt.y=380; addChild(bdate_txt); // отображаем имя и фамилию var uname = externalXML..first_name + ' ' + externalXML..last_name; name_txt.text=uname; name_txt.x=410; name_txt.y=360; addChild(name_txt); // загружаем аватар var photo = externalXML..photo_big; var request2:URLRequest=new URLRequest(photo); photoLoader.load(request2); photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); } else { trace("Error!"); } } private function onLoaded(e:Event):void { // отображаем загруженный аватар photoLoader.x = (550-photoLoader.width)/2; photoLoader.y = (400-photoLoader.height)/2; addChild(photoLoader); } }}
Re: ВОПРОСЫ
voloshyn писал(а):Ещё одна проблема появилась...
Поле Input text почему-то становиться не активным когда загружаешь его в контакт. То есть напечатать в него не возможно.
Код: Выделить всё
addEventListener( Event.ADDED_TO_STAGE, onAddedToStage ) function onAddedToStage(e: Event): void { Security.allowDomain("*"); stage.dispatchEvent(new Event(Event.DEACTIVATE)); stage.dispatchEvent(new Event(Event.ACTIVATE)); }
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
Dmitry
на этот вопрос уже ответили
обращаясь к любителям одной темы ВИДИТЕ к чему это приводит
на этот вопрос уже ответили
обращаясь к любителям одной темы ВИДИТЕ к чему это приводит
-
- Сообщения: 13
- Зарегистрирован: 12 май 2010, 19:38
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
Можешь помоч код написать? А то что то никак у меня не получается.bodnar писал(а):Timon132009, с помощью URLLoader загружаешь страницу и записываешь ответ в текстовое поле textfield.text="";
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
показывай что уже написал, поправлюTimon132009 писал(а):А то что то никак у меня не получается.
-
- Сообщения: 13
- Зарегистрирован: 12 май 2010, 19:38
Re: ПРОСТОЙ ВОПРОС - ОТВЕТ
Код: Выделить всё
var loader:URLLoader = new URLLoader();var request:URLRequest = new URLRequest("file.txt"); loader.load(request);URLLoaderDataFormat.TEXT
а как теперь вывести текст на динамический экран?
Последний раз редактировалось bodnar 14 май 2010, 17:45, всего редактировалось 1 раз.
Причина: используйте [code=actionscript][/code]
Причина: используйте [code=actionscript][/code]