Вход

Просмотр полной версии : Отображение данных в главном классе из другого класса?


Killer_13
01.12.2009, 16:50
Есть у меня 2 класса.
Главный main.as который подключен в свойствах моего fla файла и другой, videoLoader.as в который загружается видео.
Как мне связать класс videoLoader.as с классом main.as и какотобразить загруженное видео?
Вот.. пробовал импортировать класс, потом как то нужно видео засунуть в контейнер cVideo.

Знаю, что нуно addChild но как вызвать видео из другого класса, подскажите пожалуйста.

вот исходинки двух классов

main.as
package {

import flash.display.*;
import videoLoader;

public class main extends Sprite{

public var cBild:Sprite = new Sprite();
public var cVerw:Sprite = new Sprite();
public var cVideo:Sprite = new Sprite();

public function main(){
trace("df");
videoLoader();
//addChild(cBild);
}
}


}

videoLoader.as
package {

import flash.net.NetStream;
import flash.net.NetConnection;

public class videoLoader {

public function videoloader (){

var nc:NetConnection = new NetConnection ();
nc.connect(null);

var ns:NetStream = new NetStream (nc);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, AssingErrorHandler);
ns.play("girl.flv");

var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
}

function AssingErrorHandler (evt:AsyncErrorEvent):void {
//ignore Error
}
}

}

gloomyBrain
01.12.2009, 17:05
addChild(vid); - это что? она у вас не объявлена, эта переменная. Объявите как public и пишите в Main

var vl:VideoLoader = new VideoLoader();
addChild(vl.vid)

Killer_13
01.12.2009, 17:22
чуток пошаманил, компилируется без ошыбок, видео играет, и иногда просто зависает картинка и все, иногда играет нормально, так бы сказать - через раз... в чем трабл? :(

Посмотрите...
Пасиб

main.as
package {

import flash.display.*;
import videoLoader;

public class main extends Sprite{

public var cBild:Sprite = new Sprite();
public var cVerw:Sprite = new Sprite();
public var cVideo:Sprite = new Sprite();

public function main(){
trace("df");
var v:videoLoader = new videoLoader;
this.addChild(cBild);
trace("dfw");
cBild.addChild(v.vid);
trace("dfws");
}
}


}
videoLoader.as
package {

import flash.net.NetStream;
import flash.net.NetConnection;
import flash.events.*;
import flash.display.*;
import flash.media.Video;

public class videoLoader extends Sprite {

public var vid:Video = new Video();
public function videoLoader (){

var nc:NetConnection = new NetConnection ();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
trace("dfdssss");
ns.play("girl.flv");

function asyncErrorHandler(event:AsyncErrorEvent):void{
// ignore error
}
trace("dfdssss");
vid.attachNetStream(ns);
addChild(vid);
}

}

}