Цитата:
|
var flashVars:Object = Index.stage.loaderInfo.parameters as Object;
|
Что такое индекс? У вас вообще ерунда написана какая то. Вечером выложу нормальный вид запроса, ждите
Добавлено через 2 часа 3 минуты

Код AS3:
package outcomebet.controllers
{
import com.in4core.utils.logger.I4Logger;
import flash.display.DisplayObjectContainer;
import outcomebet.events.PlayerModelEvents;
import outcomebet.models.BaseModel;
import outcomebet.views.BaseView;
/**
* ...
* @author in4core progression lab
*/
public final class BaseController extends Object
{
private var _host:DisplayObjectContainer = null;
private var _baseModel:BaseModel = new BaseModel();
private var _baseView:BaseView = new BaseView();
private var _vkWrapper:VKWrapper = new VKWrapper();
public function BaseController(host:DisplayObjectContainer)
{
_host = host;
}
public function init():void
{
_vkWrapper.createAPI();
_vkWrapper.vkconnection.api("friends.get", _vkWrapper.getStandardFields(), onUsersInitialize, onVKCallBackError);
}
private function onVKCallBackError(o:Object):void
{
trace("4:VK api call back error");
}
private function onUsersInitialize(o:Object):void
{
_baseModel.friendsModel.fillFriends( o as Array );
_baseModel.friendsModel.addEventListener(PlayerModelEvents.ALL_FRIENDS_PHOTOS_LOADED , onAllFriendsPhotosLoaded);
}
private function onAllFriendsPhotosLoaded(e:PlayerModelEvents):void
{
_vkWrapper.vkconnection.api("users.get", _vkWrapper.getStandardFields(), onClinetInitialize, onVKCallBackError);
}
private function onClinetInitialize(o:Object):void
{
var obj:Object = o[0] as Object;
_baseModel.playerModel.addEventListener(PlayerModelEvents.USER_PHOTO_LOADED , onClientPhotoLoaded);
_baseModel.playerModel.fillFields(obj);
}
private function onClientPhotoLoaded(e:PlayerModelEvents):void
{
I4Logger.print("App Ready!" , 0xFF0000);
_baseView.baseModel = _baseModel;
_host.addChild(_baseView);
}
}
}

Код AS3:
package outcomebet.controllers
{
import flash.errors.IllegalOperationError;
import flash.events.EventDispatcher;
import vk.APIConnection;
/**
* ...
* @author in4core progression lab
*/
public final class VKWrapper extends EventDispatcher
{
private var _vkconnection:APIConnection;
public static var flashVars:Object = null;
public function VKWrapper()
{
}
public function createAPI():void
{
if (flashVars) _vkconnection = new APIConnection(flashVars);
else throw new IllegalOperationError("FV - null");
}
public function get vkconnection():APIConnection
{
return _vkconnection;
}
public function getStandardFields(id:uint = 0):Object
{
if (!id) id = flashVars["viewer_id"];
return { user_ids : id , fields : "nickname, screen_name, photo_100" };
}
}
}

Код AS3:
package
{
import com.in4core.utils.logger.I4Logger;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.Security;
import outcomebet.controllers.BaseController;
import outcomebet.controllers.VKWrapper;
import vk.APIConnection;
/**
* ...
* @author in4core progression lab
*/
[Frame(factoryClass="Preloader")]
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
Security.loadPolicyFile("http://vk.com/crossdomain.xml");
var flashVars:Object = stage.loaderInfo.parameters as Object;
if (!flashVars.api_id)
{
flashVars['api_id'] = 1;
flashVars['viewer_id'] = 1;
flashVars['sid'] = "XXX"
flashVars['secret'] = "XXX";
}
VKWrapper.flashVars = flashVars;
I4Logger.print(flashVars);
var base:BaseController = new BaseController(this);
base.init();
}
}
Работатть будет) Тут много лишнего, того, что вам не надо, но думаю разберетесь