переключение ребенка - PullRequest
       7

переключение ребенка

0 голосов
/ 07 ноября 2011

Есть ли простой способ выключить мувиклип для другого динамически загружаемого мувиклипа?

У меня есть и eventListener onCLICK, что при выборе он запускает FLVPlayback, но я также хотел бы поменяться с другим фильмом.

Просто немного фона. Я зацикливаю и загружаю jpg кнопки воспроизведения в один фрагмент ролика и назначаю добавочный номер в качестве имени для фрагмента ролика кнопки воспроизведения. При нажатии эта кнопка воспроизведения воспроизводит фильм, но теперь я также хотел бы переключить графику кнопки воспроизведения на графику воспроизведения.

//ADD EVENT LISTENER TO ALL MY THUMBS_BUTTON
    thumbs_button.addEventListener (MouseEvent.CLICK, playVideoThumb);

    for (var i:Number = 0; i < my_total; i++) {

        var playButton_url = "play_now.png";
        var playButton_loader = new Loader();
        playButton_loader.name = i;
        playButton_loader.load (new URLRequest(root_path + playButton_url));
        playButton_loader.contentLoaderInfo.addEventListener (Event.COMPLETE, playButtonLoaded);
        playButton_loader.y = (115 * i) + (135 * i) + 138;


//PUT NEW LOADED IMAGE INTO THUMBS_BUTTON
function playButtonLoaded (e:Event):void {
    var my_playButton:Loader = Loader(e.target.loader);
    thumbs_button.addChild (my_playButton);
}


//THIS IS WHERE I NEED TO REMOVE THE PLAY NOW AND PUT IN THE NOW PLAYING BUTTON
function playVideoThumb (e:MouseEvent):void {
    var video_url = root_path +  my_videos[e.target.name].@URL;
    my_player.source = video_url;
    var blank_butt:Number = thumbs_button.getChildByName(e.target.name).x;
    thumbs_button.removeChild(thumbs_button.getChildByName(e.target.name));
}

1 Ответ

1 голос
/ 07 ноября 2011

Глядя на ваш код, я предполагаю, что вам, вероятно, нужна функциональность, подобная радио-кнопке. Есть несколько способов сделать это. Один из способов - удалить и добавить дочерние элементы или, в случае ниже, просто использовать свойство visible:

// will contain hidden button
var hidden_button: DisplayObject = null;
// playing now button
var playingNow_button: Loader;

//ADD EVENT LISTENER TO ALL MY THUMBS_BUTTON
thumbs_button.addEventListener (MouseEvent.CLICK, playVideoThumb);

for (var i:Number = 0; i < my_total; i++) {
    var playButton_url: String = "play_now.png";
    var playButton_loader: Loader = new Loader();
    playButton_loader.name = i;
    playButton_loader.load (new URLRequest(root_path + playButton_url));
    playButton_loader.contentLoaderInfo.addEventListener (Event.COMPLETE, playButtonLoaded);
    playButton_loader.y = (115 * i) + (135 * i) + 138;
}
// load playingNow graphic
playingNow_button = new Loader();
playingNow_button.load(new URLRequest(root_path + 'playing_now.png'));
playingNow_button.contentLoaderInfo.addEventListener (Event.COMPLETE, playingNowLoaded);


//PUT NEW LOADED IMAGE INTO THUMBS_BUTTON
function playButtonLoaded (e:Event):void {
    var my_playButton:Loader = Loader(e.target.loader);
    thumbs_button.addChild (my_playButton);
}

//ADD PLAYING_NOW BUT HIDE
function playingNowLoaded (e:Event):void {
    playingNow_button.visible = false;
    thumbs_button.addChild (playingNow_button);
}


//THIS IS WHERE I NEED TO REMOVE THE PLAY NOW AND PUT IN THE NOW PLAYING BUTTON
function playVideoThumb (e:MouseEvent):void {
    // exit if user clicked playing Now button
    if (e.target == playingNow_button) return;
    // also exit if user clicked on something that is not a loader
    if (!(e.target is Loader)) return;
    // show hidden button (if any)
    if (hidden_button != null) hidden_button.visible = true;
    // assign current button to hidden_button
    hidden_button = DisplayObject(e.target);
    // copy location, scale and rotation
    playingNow_button.transform.matrix = hidden_button.transform.matrix;
    // show playingNow and hide button
    playingNow_button.visible = true;
    hidden_button.visible = false;
    // play video
    var video_url = root_path +  my_videos[e.target.name].@URL;
        my_player.source = video_url;
}

Если вам не нужно обрабатывать загруженные кнопки, вы можете немедленно добавить объекты Loader в кнопку thumbs_button. Вам не нужно делать это в обработчике COMPLETE.

...