PDA

Просмотр полной версии : attachVideo внутри функции


die hetzer
22.07.2007, 03:21
Всем привет!

Подскажите в чем ошибка. Многое испробовал, но второй пример не хочет работать.



РАБОТАЕТ
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
mc.attachVideo(my_ns);
my_ns.play("video3.flv");


НЕ РАБОТАЕТ
playMe = function(vid) {
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
mc.attachVideo(my_ns);
my_ns.play(vid);
}
playMe("video3.flv")


"mc" это видео объект на сцене. :o

Cкептик
22.07.2007, 04:06
А так работает? Просто возможности проверить нету.

function playMe(vid) {
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
mc.attachVideo(my_ns);
my_ns.play(vid);
}
playMe("video3.flv");

die hetzer
22.07.2007, 12:39
к сожалению, нет

etc
22.07.2007, 12:42
Исходник в студию.

die hetzer
22.07.2007, 12:53
Разобрался!

Я так понял что было что-то с областью видимости.
Добавил with и заработало


playMe = function(vid) {
with(mc) {
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
mc.attachVideo(my_ns);
my_ns.play(vid);
}
}
playMe("video3.flv")


Может конечно есть более грамотные решения. Если кто знает — подскажите.

die hetzer
22.07.2007, 12:55
исходник

etc
22.07.2007, 13:10
Вероятно проблема в том, что my_nc, my_ns — локальные переменные и удаляются потом.

playMe = function(vid) {
my_nc = new NetConnection();
my_nc.connect(null);
my_ns = new NetStream(my_nc);
video.attachVideo(my_ns);
my_ns.play(vid);
}
playMe("video1_tn.flv")
Так работает.

die hetzer
22.07.2007, 13:26
спасибо!