контейнер и getAds

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Grunge
Сообщения: 4
Зарегистрирован: 11 фев 2010, 23:54

контейнер и getAds

Сообщение Grunge »

Господа, есть пример кода под вывод рекламы в контейнере?
VIP
Сообщения: 252
Зарегистрирован: 24 ноя 2009, 18:10

Re: контейнер и getAds

Сообщение VIP »

Да я тоже пишу в контейнере очень хотелось бы код!!! Замарачиваюсь каждый день и не могу написать - желательно для написане в кадрах
Аватара пользователя
FireStorm3000
Сообщения: 80
Зарегистрирован: 03 янв 2010, 18:17

Re: контейнер и getAds

Сообщение FireStorm3000 »

вместо
flashvars.api_id
пишите
wrapper.application.parameters.api_id
доступ к другим параметрам аналогичен

где
var wrapper: Object = Object(parent.parent);
для флекса
var wrapper: Object = Object(parent.parent.parent);

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

 this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );...function onAddedToStage(e: Event): void {var wrapper: Object = Object(parent.parent);// Init application}
Аватара пользователя
FireStorm3000
Сообщения: 80
Зарегистрирован: 03 янв 2010, 18:17

Re: контейнер и getAds

Сообщение FireStorm3000 »

щас попробую исправить код написанный ранее админом этого ресурса
для контейнера

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

package {   import flash.net.*;   import flash.display.*;   import flash.events.*;   import flash.text.*;   import vk.VkApiNode;    public class Main extends Sprite {      private var api_id:Number=1728947;// id вашего приложения      private var api_secret:String="3wRTB1OZo9";// секретный ключ      private var api:VkApiNode;      private var viewer_id;      private var url_loader:URLLoader;      private var url_request:URLRequest;      private var query:String;      private var photo_loader:Loader;      private var responseAds:XML;private var wrapper:Object;private var wrp:Object;    public function Main():void {this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );}       public function onAddedToStage():void {wrapper= Object(parent.parent);wrp=wrapper.application.parameters;         viewer_id=wrp.viewer_id;         // создаем и выполняем запрос         api=new VkApiNode(wrp.viewer_id,wrp.api_id,api_secret); //если типа wrp.viewer_id не прокатывают, заводим новые переменные типа viewer_id2 =wrp.viewer_id;         query=api.getAds(1);// 1 - количество возвращаемых рекламных объявлений (максимум 20). Если поменяете это значение, то придётся менять и обработку полученного ответа         url_request=new URLRequest(query);         url_loader=new URLLoader  ;         url_loader.addEventListener(Event.COMPLETE,adsLoaded); // слушатель "когда запрос будет выполнен"         url_loader.load(url_request);      }       public function adsLoaded(event:Event):void {         url_loader.removeEventListener(Event.COMPLETE,adsLoaded);         responseAds=XML(url_loader.data);// создаём XML из полученных данных         if (responseAds.error_code<=0) {// если нет сообщения об ошибке            // загружаем изображение рекламы            photo_loader=new Loader  ;            photo_loader.load(new URLRequest(responseAds..photo));            photo_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,photoLoaded);         } else {            trace('Ошибка ' + responseAds..error_msg);         }      }       public function photoLoaded(e:Event):void {         photo_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,photoLoaded);         // отображаем загруженное изображение         var photo:Loader=Loader(e.target.loader);         photo.x=10;         photo.y=10;         addChild(photo);          // создаем стиль для текста         var myCSS = new StyleSheet();         myCSS.setStyle("p", {color:"#000000", fontFamily:"Tahoma", fontSize:11});         myCSS.setStyle("a:link", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"none"});         myCSS.setStyle("a:hover", {color:"#2B587A", fontFamily:"Tahoma", textDecoration:"underline"});          // добавляем заголовок в виде ссылки         var ads_title_tf:TextField = new TextField();         ads_title_tf.styleSheet=myCSS;         ads_title_tf.autoSize=TextFieldAutoSize.LEFT;         ads_title_tf.selectable=false;         ads_title_tf.htmlText='<b><a href="event:' + responseAds..link + '">'+responseAds..title+'</a></b>';         ads_title_tf.x=100;         ads_title_tf.y=10;         addChild(ads_title_tf);         ads_title_tf.addEventListener(TextEvent.LINK, linkHandler);          // добавляем описание         var ads_desc_tf:TextField = new TextField();         ads_desc_tf.styleSheet=myCSS;         ads_desc_tf.autoSize=TextFieldAutoSize.LEFT;         ads_desc_tf.selectable=false;         ads_desc_tf.htmlText='<p>'+responseAds..description+'</p>';         ads_desc_tf.x=100;         ads_desc_tf.y=30;         addChild(ads_desc_tf);      }       public function linkHandler(event:TextEvent):void {         navigateToURL(new URLRequest(event.text), '_blank')      }   }}
Grunge
Сообщения: 4
Зарегистрирован: 11 фев 2010, 23:54

Re: контейнер и getAds

Сообщение Grunge »

FireStorm3000, Спасибо огромное!!!
Ответить