Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.04.2014, 12:02
Sevil вне форума Посмотреть профиль Отправить личное сообщение для Sevil Найти все сообщения от Sevil
  № 1  
Ответить с цитированием
Sevil

Регистрация: Apr 2014
Сообщений: 9
По умолчанию Получение данных из класса

Не знал в какой раздел правильней будет добавить, в AS3 или сюда, решил сюда.
Вопрос касается как AS3 так и API VK.

Есть у меня 2 кадра во флэшке, в первом кадре код прелоадера и вот такая конструкция
Код AS3:
var vkConn:VkConnect = new VkConnect();
     stage.addChild(vkConn);
VkConnect - класс, в котором идет запрос в контакт для получения данных, вот код

Код AS3:
package{
 
	import flash.display.MovieClip;
	import flash.text.*;
	import flash.events.*;
 
	import vk.APIConnection;
	import vk.events.*;
	import vk.ui.VKButton;
 
    public class VkConnect extends MovieClip{
 
		public var uid:int;
		public var lastName, firstName: String;
 
        public function VkConnect():void{
			if (stage) init();
    		else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		private function fetchUserInfo(data: Object): void {
			for (var key: String in data[0]){
				trace(key + "=" + data[0][key] + "\n");
				if(key == "uid"){
				  uid = data[0][key];
				}
    		}
		}
		private function onApiRequestFail(data: Object): void {
			trace("Error: "+data.error_msg+"\n");
		}
 
 
    	private function init(e: Event = null): void {
    		if (e) {
	    		removeEventListener(e.type, init);
	    	}
			var flashVars: Object = stage.loaderInfo.parameters as Object;
			flashVars['api_id'] = 546153;
			flashVars['viewer_id'] = 18451354;
			flashVars['sid'] = "31816be168a0b5a262224d2f0c174aae4685a38a3a5faabec94a145745bad18ba73b35618c5778e6d0d13";
			flashVars['secret'] = "5fc32d11ca";
			if (!flashVars.api_id) trace("[!] Launch application on VK to get your test-code for local testing");
	    	var VK: APIConnection = new APIConnection(flashVars);
			VK.api('getProfiles', { uids: flashVars['viewer_id'] }, fetchUserInfo, onApiRequestFail);
		}
    }
}
а во втором кадре флэшки в самом начале у меня есть такая конструкция:
Код AS3:
var host:String = 'http://бла-бла-бла/';
var variabl:URLVariables = new URLVariables();
     variabl.sid = vkConn.uid;
К тому времени когда я делаю это variabl.sid = vkConn.uid; у меня uid = 0, видимо класс не успевает получить данные из ВК.
Собственно сам вопрос заключается в следующем: возможно ли как то сделать так, чтобы variabl.sid = vkConn.uid выполнялось, когда класс получит все необходимые данные? или может сделать какую то задержку перед выполнением этого присваивания? может есть какое то событие? Подскажите, пожалуйста, кто знает?


Последний раз редактировалось Zebestov; 30.04.2014 в 12:22.
Старый 30.04.2014, 13:32
morgenshtern вне форума Посмотреть профиль Отправить личное сообщение для morgenshtern Найти все сообщения от morgenshtern
  № 2  
Ответить с цитированием
morgenshtern
 
Аватар для morgenshtern

Регистрация: Jul 2007
Сообщений: 159
Смотрите доку для APIConnection. Я ее не юзал, но там просто обязаны быть евенты на успешные окончания запросов. У вас там почему то только на фейл - onApiRequestFail.

И никогда не пишите код в кадрах, если хотите создавать что-то сложнее баннеров...
__________________
Думаю на as3.
Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева.

Старый 30.04.2014, 13:46
Sevil вне форума Посмотреть профиль Отправить личное сообщение для Sevil Найти все сообщения от Sevil
  № 3  
Ответить с цитированием
Sevil

Регистрация: Apr 2014
Сообщений: 9
Цитата:
Сообщение от morgenshtern Посмотреть сообщение
Смотрите доку для APIConnection. Я ее не юзал, но там просто обязаны быть евенты на успешные окончания запросов. У вас там почему то только на фейл - onApiRequestFail.

И никогда не пишите код в кадрах, если хотите создавать что-то сложнее баннеров...
на успешное окончание там стоит fetchUserInfo. Только я не пойму как правильно это использовать ...
если не писать код в кадрах, то получается вся графика будет на 1 кадре, а переход по кадрам имитировать изменением свойства visible у нужных/ненужных объектов?

Старый 30.04.2014, 14:01
morgenshtern вне форума Посмотреть профиль Отправить личное сообщение для morgenshtern Найти все сообщения от morgenshtern
  № 4  
Ответить с цитированием
morgenshtern
 
Аватар для morgenshtern

Регистрация: Jul 2007
Сообщений: 159
А с чего вы взяли, что во втором кадре APIConnection уже получит нужные данные?
variabl.sid = vkConn.uid; - вот это делайте после fetchUserInfo. Зачем вам вообще второй кадр?

Цитата:
если не писать код в кадрах, то получается вся графика будет на 1 кадре, а переход по кадрам имитировать изменением свойства visible у нужных/ненужных объектов?
Вам нужно зайти с другого конца) Лучше с самого начала отучатся от кода в кадрах.
Пишите код в FD, или любой другой понравившейся среде, а в CS подготавливаете готовые клипы (например, накидали графику для окна магазина, назвали в библиотеке его MainShopWindow) и экспортируйте в swf/swc. Потом библиотеку подключаете к проекту или загружаете в рантайме, добавляете на сцену нужные классы (клипы) из нее и управляете ими.
__________________
Думаю на as3.
Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева.

Старый 30.04.2014, 14:15
Sevil вне форума Посмотреть профиль Отправить личное сообщение для Sevil Найти все сообщения от Sevil
  № 5  
Ответить с цитированием
Sevil

Регистрация: Apr 2014
Сообщений: 9
Цитата:
Сообщение от morgenshtern Посмотреть сообщение
А с чего вы взяли, что во втором кадре APIConnection уже получит нужные данные?
variabl.sid = vkConn.uid; - вот это делайте после fetchUserInfo. Зачем вам вообще второй кадр?


Вам нужно зайти с другого конца) Лучше с самого начала отучатся от кода в кадрах.
Пишите код в FD, или любой другой понравившейся среде, а в CS подготавливаете готовые клипы (например, накидали графику для окна магазина, назвали в библиотеке его MainShopWindow) и экспортируйте в swf/swc. Потом библиотеку подключаете к проекту или загружаете в рантайме, добавляете на сцену нужные классы (клипы) из нее и управляете ими.
т.е. должна быть куча файлов(клипов) и прицепленные к ним классы, отвечающих каждый за своё, в каждом будет 1 кадр и будет один главный клип+класс, управляющий всеми? Ну примерно принцип понятен, благодарствую, буду пробовать.

Старый 30.04.2014, 14:26
morgenshtern вне форума Посмотреть профиль Отправить личное сообщение для morgenshtern Найти все сообщения от morgenshtern
  № 6  
Ответить с цитированием
morgenshtern
 
Аватар для morgenshtern

Регистрация: Jul 2007
Сообщений: 159
Файл библиотеки один. Сцена пустая. В библиотеке нужные мувики обозванные классами, по которым их находить из кода. Кадров в них сколько угодно может быть, переход на нужный кадр/запуск анимаций из кода делается. Ну максимум какой код допустим в кадрах - это stop(); в анимациях, хотя их торможу в первом кадре при добавлении на сцену, в либах - ТОЛЬКО графика.
__________________
Думаю на as3.
Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева.

Старый 30.04.2014, 14:31
Sevil вне форума Посмотреть профиль Отправить личное сообщение для Sevil Найти все сообщения от Sevil
  № 7  
Ответить с цитированием
Sevil

Регистрация: Apr 2014
Сообщений: 9
Цитата:
Сообщение от morgenshtern Посмотреть сообщение
Файл библиотеки один. Сцена пустая. В библиотеке нужные мувики обозванные классами, по которым их находить из кода. Кадров в них сколько угодно может быть, переход на нужный кадр/запуск анимаций из кода делается. Ну максимум какой код допустим в кадрах - это stop(); в анимациях, хотя их торможу в первом кадре при добавлении на сцену, в либах - ТОЛЬКО графика.
Сейчас вы меня вообще запутали, сломали всё мое представление и растоптали фантазию
Не завалялся ли случайно какой-нибудь мало-мальский пример посидеть проанализировать? или может ссылочка на нечто такое?

Старый 30.04.2014, 14:45
morgenshtern вне форума Посмотреть профиль Отправить личное сообщение для morgenshtern Найти все сообщения от morgenshtern
  № 8  
Ответить с цитированием
morgenshtern
 
Аватар для morgenshtern

Регистрация: Jul 2007
Сообщений: 159
Готовых примеров у меня нет.
У Мука кажется что-то было про это http://vk.com/doc463377_56756308?has...ce2ff7616daf06 в конце книги. Но когда я его читал, уже много лет кодил на as3 не в кадрах, потому эти разделы не читал, не знаю, на сколько там информативно.
__________________
Думаю на as3.
Готов к долгосрочному взаимовыгодному сотрудничеству в сфере геймдева.

Старый 30.04.2014, 14:51
Sevil вне форума Посмотреть профиль Отправить личное сообщение для Sevil Найти все сообщения от Sevil
  № 9  
Ответить с цитированием
Sevil

Регистрация: Apr 2014
Сообщений: 9
Цитата:
Сообщение от morgenshtern Посмотреть сообщение
Готовых примеров у меня нет.
У Мука кажется что-то было про это http://vk.com/doc463377_56756308?has...ce2ff7616daf06 в конце книги. Но когда я его читал, уже много лет кодил на as3 не в кадрах, потому эти разделы не читал, не знаю, на сколько там информативно.
Спасибо, почитаю

Старый 30.04.2014, 15:54
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Я бы посоветовал для начала разобраться просто с программированием на AS3, и уже потом изучать API соц сетей.

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.