1

videoPlayer ムービークリップ内からボタン ムービークリップにアクセスしようとすると、このエラー メッセージが表示されます。それらはネストされていません。videoPlayer ボタンがクリックされると、videoPlayer が以前の場所に座っている間、邪魔にならないようにボタンが画面の下部にトゥイーンします。videoPlayer を閉じるときに、ボタンを画面の右側からトゥイーンして戻したいのですが、次のエラー メッセージが表示されます。 easy:Back.easeOut});. 私の質問は、ボタンのコントロールにアクセスするために as3 で何を使用すれば、videoPlayer ムービークリップを閉じるときにボタンをトゥイーンできるかということです。

The flvPlayer script:-

stop();

closeBtn.addEventListener(MouseEvent.CLICK, closeVid)
closeBtn.buttonMode = true;

function closeVid(e:MouseEvent):void
{
    video.stop();
    gotoAndStop(1);
    TweenMax.from(btn1, 3, {x:450, y:209.1, ease:Back.easeOut});
}

**********************************************************************

The script from outside the videoPlayer or scene1:-

import com.greensock.*;
import com.greensock.easing.*;

var numberOfButtons:Number = 3

var startX:Number;
var startY:Number;

var currentButton:MovieClip

for (var i:int = 1; i <= numberOfButtons; i++)
    {

        this["btn"+i].buttonMode = true;
        this["btn"+i].mouseChildren = false;
        this["btn"+i].addEventListener(MouseEvent.MOUSE_OVER, doRollover)
        this["btn"+i].addEventListener(MouseEvent.MOUSE_OUT, doRollout)
        this["btn"+i].addEventListener(MouseEvent.CLICK, showbtnContent);
    }

function doRollover(e:MouseEvent):void
{
    TweenMax.to(this[e.target.name], 1, {scaleX:1.1, scaleY:1.1, ease:Elastic.easeOut});
}

// This function handles the Rollout event  
function doRollout(e:MouseEvent):void
{
    TweenMax.to(this[e.target.name], 1, {scaleX:1, scaleY:1, ease:Elastic.easeOut});
}

function showbtnContent(e:MouseEvent):void
{
    currentButton = this[e.target.name]
    switch (currentButton)
    {
        case btn1:
        TweenMax.from(audioPlayer, 1, {x:449, y:-112, ease:Back.easeOut});
        audioPlayer.gotoAndStop(2);
        audioPlayer.parent.setChildIndex(audioPlayer, audioPlayer.parent.numChildren-1);
        break;

        case btn2:
        TweenMax.from(mcGallery, 1, {x:450, y:300, scaleX:1, scaleY:1, ease:Back.easeOut});
        mcGallery.gotoAndStop(2);
        mcGallery.parent.setChildIndex(mcGallery, mcGallery.parent.numChildren-1);
        break;

        case btn3:
        TweenMax.to(btn1, 20, {x:450, y:777.1, ease:Elastic.easeOut});
        TweenMax.to(btn2, 16, {x:450, y:777.1, ease:Elastic.easeOut});
        TweenMax.to(btn3, 12, {x:450, y:777.1, ease:Elastic.easeOut});
        TweenMax.from(flvPlayer, 3, {x:1060, y:280, ease:Back.easeOut});
        flvPlayer.gotoAndStop(2);
        flvPlayer.parent.setChildIndex(flvPlayer, flvPlayer.parent.numChildren-1);
        break;
        }
}
4

1 に答える 1

0

使用するgotoAndStop(1);と、btn1、btn2、btn3 が存在しなかった最初のフレームに移動します。

これが起こらないように、ボタンを保持しているムービークリップまたはスプライトとは別のムービークリップにタイムラインを移動する必要があるため、修正は困難です。

于 2012-11-11T21:20:03.513 に答える