首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STAGE的问题

STAGE的问题
EN

Stack Overflow用户
提问于 2014-03-05 22:48:00
回答 1查看 298关注 0票数 0

我是as3编程的新手。这个论坛已经帮了我很多,但现在我遇到了一个问题,我不知道如何继续下去。这是我在堆栈overflow.com上的第一篇文章。

我需要StageWebView显示一个PDF文件。几个小时后,我成功了。我在一个新的空白文档中创建了代码,并一步一步地进行了测试。

代码语言:javascript
复制
This is my code:

import flash.display.MovieClip;
import flash.media.StageWebView;
import flash.geom.Rectangle;
import flash.filesystem.File;
import flash.display.Sprite;
import flash.display.Stage; 

public function StageWebViewExample(pdfdoc:String, xpos:Number, ypos:Number, breite:Number, hoehe:Number) 
{
    var webView:StageWebView = new StageWebView();
    webView.stage = this.stage;   //PROBLEM LINE
    webView.viewPort = new Rectangle (xpos, ypos, breite, hoehe);           
    var file:String = pdfdoc;
    var pdf:File = File.applicationDirectory.resolvePath(file);
    webView.loadURL(pdf.nativePath);            
}

StageWebViewExample("test.pdf", 200, 200, 600, 1200);

经过测试,我将代码复制到现有的flash-document中。(几个as文件中的代码和现有flash文档中的“调用”(StageWebViewExample("....) ...)...)

但现在代码不再工作,并出现以下错误:- 1119访问可能未定义的属性阶段...- 1059属性为只读。-->这两个错误都指向我在代码中标记的同一行。

有没有人知道为什么它不工作?如果你能给我一个好的提示,我将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2014-03-05 22:57:48

问题的答案是您的操作;)您从Document Class中移动了代码,在另一个文档中,这些代码不能作为实例属性访问stage。我是说this.stage。也将阶段传递给方法StageWebViewExample,函数签名将如下所示:

代码语言:javascript
复制
public function stageWebViewExample(stage: Stage, pdfdoc:String, xpos:Number, ypos:Number, breite:Number, hoehe:Number):void {
    var webView:StageWebView = new StageWebView();
    webView.stage = stage;   
    webView.viewPort = new Rectangle (xpos, ypos, breite, hoehe);           
    var file:String = pdfdoc;
    var pdf:File = File.applicationDirectory.resolvePath(file);
    webView.loadURL(pdf.nativePath);            
}

工作空气示例:

代码语言:javascript
复制
package {

    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.geom.Rectangle;
    import flash.media.StageWebView;

    public class StackOverflow extends Sprite {

        public function StackOverflow() {
            addEventListener(Event.ADDED_TO_STAGE, onAdded);
        }

        private function onAdded(e:Event):void {
            removeEventListener(Event.ADDED_TO_STAGE, onAdded);

            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            start();
        }

        private function start():void {
            showWebViewAt(this.stage, "http://www.iab.net/media/file/VASTv3.0.pdf", new Rectangle(0, 0, stage.stageWidth * 0.5, stage.stageHeight));
        }

        private function showWebViewAt(stage:Stage, path:String, frame:Rectangle):void {
            var webView:StageWebView = new StageWebView();
            webView.stage = stage;
            webView.viewPort = frame;
            webView.loadURL(path);
        }

    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22201079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档