Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Програмно добавить FLVPlayback (http://www.flasher.ru/forum/showthread.php?t=118427)

AlexDesinger 23.11.2008 20:12

Програмно добавить FLVPlayback
 
Народ, всем привет, подскажите плиз как правильно програмно добавить flv компонент в клип?
Вот мой код:
Код AS3:

public function menu0Click(event:MouseEvent):void {
                        var my_FLVPlybk= new FLVPlayback();
                        addChild(my_FLVPlybk);
                        my_FLVPlybk.source="video/1.flv";
                        my_FLVPlybk.scaleMode="noScale";
                        myEkran.Display.addChild(my_FLVPlybk);
                        myEkran.Display.my_FLVPlybk.x=myEkran.Display.my_FLVPlybk.width/2;
                }

если я просто напишу:
Код AS3:

myEkran.Display.addChild(my_FLVPlybk);

то ничего не получается, если так как выше то загружается, но например на это
Код AS3:

trace(myEkran.Display.my_FLVPlybk.x)

пишет ошибку, подскажите как правильно

musat 24.11.2008 00:03

Насколько я понял, в классе объекта Display нету свойства my_FLVPlybk, поэтому при попытке обратится через myEkran.Display.my_FLVPlybk.x возникает ошибка.

Почему бы просто не сделать так:
Код AS3:

my_FLVPlybk.x = my_FLVPlybk.width/2;
myEkran.Display.addChild(my_FLVPlybk);


AlexDesinger 24.11.2008 00:57

Цитата:

Почему бы просто не сделать так:
Ну да ...нет я понимаю что можно и так но дело не в этом...просто я не понимаю почему он туда не запихивается....и собственно вопрос - а как же мне его удалить например если его там нет?... и да - если его там его нет, то где он...ведь видео проигрывается....?

Я вот подумал, может вообще где-то неправильно в другом месте вот код, который относится к flvplayback:
Код AS3:

package {
        import flash.net.URLRequest;
        import flash.display.*;
        import flash.events.*;
        import fl.livepreview.LivePreviewParent;
        import fl.video.*;
        import Ekran;
        public class Main extends MovieClip {
                private var myEkran:Ekran;
                public function Main() {
                        myEkran=new Ekran  ;
                        addChild(myEkran);
                        myEkran.x=0;
                        myEkran.y=400;
                        myMenuAll.menu0.addEventListener(MouseEvent.CLICK,menu0Click);
                }
                public function menu0Click(event:MouseEvent):void {
                        var my_FLVPlybk=new FLVPlayback  ;
                        addChild(my_FLVPlybk);
                        my_FLVPlybk.source="video/1.flv";
                        my_FLVPlybk.scaleMode="noScale";
                        myEkran.Display.addChild(my_FLVPlybk);
                        myEkran.Display.my_FLVPlybk.x=myEkran.Display.my_FLVPlybk.width/2;
                        trace(myEkran.Display.my_FLVPlybk.x);
                }
        }
}

да и еще забыл сказать - клипы Ekran, Display - лежат в библиотеке

musat 24.11.2008 02:02

Кстати, заметил, что в Вашем коде 2 раза присутствует addChild(my_FLVPlybk):
Код AS3:

public function menu0Click(event:MouseEvent):void {
        var my_FLVPlybk= new FLVPlayback();
        addChild(my_FLVPlybk);                        // здесь
        my_FLVPlybk.source="video/1.flv";
        my_FLVPlybk.scaleMode="noScale";
        myEkran.Display.addChild(my_FLVPlybk);        // и здесь
        myEkran.Display.my_FLVPlybk.x=myEkran.Display.my_FLVPlybk.width/2;
}

Так задумано или это опечатка? :)

AlexDesinger 26.11.2008 03:27

Добавлено через 49 часов 13 минут
ага, вот разобрался - оказывается когда я пишу
Код AS3:

mc.addChild(flv)

этого недостаточно для последущего обращения к mc.flv, поскольку не создан instancename или ссылка, это нужно оказывается создавать сомому в ручную.

но теперь прошу помощи запихнуть имена из кода в массив
Код AS3:

function loadIco() {
                        url="ico/ico"+c+".jpg";
                        loader = new Loader();
                        mc = new MovieClip();
                        mc.name="mc"+c;
                        configureListeners(loader.contentLoaderInfo);
                        loader.addEventListener(MouseEvent.CLICK, clickHandler);
                        var request:URLRequest=new URLRequest(url);
                        loader.load(request);
                        mc.addChild(loader);
                        myMenuAllm.addChild(mc);
                        myMenuAllm.mc=mc;
                        loader.unload();
                        myMenuAllm.getChildByName("mc3").y=100;
                }

помогите запихнуть mc по имени в массив, чтобы потом можно было использовать вот тут
Код AS3:

private function menuChoise(event:MouseEvent):void {
                        var myMenu:MovieClip=event.target as MovieClip;
                        pressedBut=myMenu;
                        if (pressedBut!=bt) {
                                pressedBut.alpha=0.5;
                                pressedBut.scaleX=0.8;
                                pressedBut.scaleY=0.8;
                                bt.alpha=1;
                                bt.scaleX=1;
                                bt.scaleY=1;
                                bt=pressedBut;
                        }
                }
                private function entFrHandler(event:Event):void {
                        var myMenu:MovieClip=event.target as MovieClip;
                        if (myMenu!=pressedBut) {
                                var dx:Number=myMenuAll.mouseX-myMenu.x;
                                var dy:Number=myMenuAll.mouseY-myMenu.y;
                                var D:Number = Math.sqrt((dx*dx)+(dy*dy));
                                myMenu.scaleX = (-Math.abs(D)+300)/300;
                                myMenu.scaleY=myMenu.scaleX;
                                if (myMenu.scaleX<=0.5) {
                                        myMenu.scaleX=0.5;
                                        myMenu.scaleY=0.5;
                                }
                        }
                }

ну т.е. в массив myMenu помогите плиз....


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

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