Виталий Т.
168 сообщений
#15 лет назад
Добрый день!
Столкнулся с проблемой.
Есть 2 класса Main.as и ResultGames.as , ResultGames.as парсит XML , далее разбивает его в строку и должен передать в Main.as, но вот не передаёт он в Main.as *(

Main.as
package {
import flash.display.*;
import flash.external.*;
import flash.text.*;
import vkontakte.*;
import flash.events.*;
import flash.xml.*;

public class Main extends MovieClip {
public var vars:Object;

private var connector:vkontakte.APIConnector;
private var game:ResultGames;


public function Main() {
var SECRET:String;

var loc1:*;
super();
this.vars = vkontakte.API.readVars(root);
if (this.vars.api_id == "ID_Приложение")
{
error.visible = true;
error_txt.htmlText = "Нарушение авторских прав! ";
error_txt.autoSize = TextFieldAutoSize.CENTER;
addChild(error_txt);
ControlPanel.visible = false;
ControlFon.visible = true;
return;
} else {
this.vars.viewer_id == "ID_Юзера"
SECRET = "dsihBAa6F0";
this.connector = new vkontakte.APIConnector(this.vars, this.vars.api_id, SECRET, this.vars.viewer_id, false);
if (Number(this.vars.is_app_user) == 0)
{
error.visible = true;
ControlPanel.visible = false;
ControlFon.visible = true;
error_txt.htmlText = "Для начала: <b>Добавьте приложение</b>.";

if (Number(this.vars.user_id) != Number(this.vars.viewer_id))
{
this.connector.request(vkontakte.API.IN_FIRST_TIME, new Array({"auth_key":this.vars.auth_key}, {"uid":this.vars.viewer_id}, {"owner_id":this.vars.user_id}), function ():*
{
return;
})
}
return;
} else {
ControlPanel.visible = true;
ControlFon.visible = true;
error.visible = false;

game = new ResultGames();
dinamicText();
}
}
}

private function dinamicText():void {
TitleText.text = "Вся Статистика о КХЛ сезона 2009/2010";
Copyright.text = "(c) Тюрякин Виталий";
Copyright.autoSize = TextFieldAutoSize.RIGHT;
addChild(TitleText);
addChild(Copyright);
}
}
}


Цитата:
Примечание: вместо идов приложения и моей страницы, поставил соответственно ID_Юзера и ID_Приложения.


ResultGames.as
package {
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.system.*;
import flash.text.*;
import flash.xml.*;

public class ResultGames extends Sprite {

var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
var _result:TextField = new TextField();

public function ResultGames() {



xmlLoader.addEventListener(Event.COMPLETE, loadXML);

xmlLoader.load(new URLRequest("http://fifaonly.ru/resultGame.xml"));


}

private function loadXML(e:Event):void {


xmlData = new XML(e.target.data);

for each (var resultGame:XML in xmlData.*)
{
_result.text = resultGame.team_home + "(" + resultGame.sity_home + ")" + " " + resultGame.result + " " + resultGame.team_away + "(" + resultGame.sity_away +")" + " " + resultGame.date + " \n";
_result.width = 550;
_result.x = 100;
_result.y = 200;
_result.border = true;
_result.borderColor = 0x000000;
addChild(_result);
}

}
}
}


Помогите решить проблему.
Виталий Т.
168 сообщений
#15 лет назад
Help Me
Виталий Т.
168 сообщений
#15 лет назад
Помогите.. не знаю, что делать(
Дмитрий Очеретяный
4 сообщения
#15 лет назад
Насколько я понял, ResultGame - спрайт, который аттачит в себя текс филд, в котором надо показать че-то... И это все не показывается? Ну это логично... Т.к. этот ResultGame ведь тоже надо на сцену приатачить....

после
game = new ResultGames();

добавить

addChild(game);


А вообще Вам бы стоило почитать о патернах проектирования под AS ... Потому как то, что я тут вижу, просто ужасно с точки зрения архитектуры....
Виталий Т.
168 сообщений
#15 лет назад
Цитата ("flexoft"):

А вообще Вам бы стоило почитать о патернах проектирования под AS ... Потому как то, что я тут вижу, просто ужасно с точки зрения архитектуры....


Наброски