0

[更新]インスタンスを次のようStageWebViewにインスタンスに入れることで、最終的に修正しました。MovieClip

    package eu.lafactoria.PF
    {
        import flash.display.Bitmap;
        import flash.display.MovieClip;
        import flash.geom.Rectangle;
        import flash.media.StageWebView;

    public class PFWebView extends MovieClip
    {
        //==========================================================//
        //==    VARIABLES
        //==========================================================//
        private var mWebView:StageWebView;
        [Embed(source='/assets/bt_enrera.png')]     //TODO: Posar l'imatge bona
        private static var mCloseButtonImage:Class;

        private var mCloseButton:Bitmap;


        //==========================================================//
        //==    CONSTRUCTOR
        //==========================================================//
        public function PFWebView(){
            mCloseButton = new mCloseButtonImage(); 
        }

        //==========================================================//
        //==    SHOW
        //==========================================================//
        public function show(url:String, margin:int = 0):void{

            //FIXME: Arreglar boto de tancar

            mWebView            = new StageWebView(); 
            mWebView.stage      = this.stage; 

            mWebView.viewPort   = new Rectangle( margin, margin, stage.stageWidth - margin*2, stage.stageHeight - margin*2);
            mWebView.loadURL(url);

            this.addChild(mCloseButton);
            mCloseButton.x = stage.stageWidth - margin*2;
            mCloseButton.y = margin           - mCloseButton.height + 5;
        }

        //==========================================================//
        //==    HIDE
        //==========================================================//
        public function hide():void{
            if(mWebView != null)
                mWebView.stage = null;
            else
                trace("[PFWebView] Trying to hide a webiew not shown  yet");

            this.removeChild(mCloseButton);
            //this.parent.removeChild(this);
        }
    }
}

[元の質問]StageWebViewこのようなインスタンス を追加する Flex アプリケーションがあります

        mCredits = new StageWebView();
        mCredits.loadURL("http://www.google.es");

        mCredits.stage    = mMainSprite.stage;
        mCredits.viewPort = new Rectangle( margin, margin, mMainSprite.stage.stageWidth - margin*2, mMainSprite.stage.stageHeight - margin-2);

しかし、アプリが再び表示されるように削除したい場合は、機能しません。次のようにします。

        mCredits.viewPort = null;
        mCredits.stage    = null;
        mCredits.dispose();
        mCredits          = null;

なぜうまくいかないのか知っている人はいますか?ありがとう!

4

0 に答える 0