Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   attachVideo внутри функции (http://www.flasher.ru/forum/showthread.php?t=98823)

die hetzer 22.07.2007 03:21

attachVideo внутри функции
 
Всем привет!

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



РАБОТАЕТ
Код:

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

исходник
 
Вложений: 1
исходник

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

спасибо!


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

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