css - 访问未定义属性 as3

标签 css actionscript-3

我知道有很多帖子都在处理这个问题。但是,我还是不明白。

我不断收到“1120:访问未定义属性 CSSloader”。在以下脚本中:

package as3.comp{

import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.text.StyleSheet;


public class cont extends MovieClip {

    public var contentWidth:Number;
    public var contentHeight:Number;

    private var myXML:XML;
    private var myLoader:URLLoader;

    public function cont():void {
        //Start
    }

    public function start():void {
        myTooltip.start();
        myTooltip.followMouse(false);
        myTooltip.hide();
        myWaiting.start();
        myWaiting.hide();
        myXML = new XML();
        myXML.ignoreComments=true;
        myXML.ignoreWhitespace=true;
        contentWidth=100;
        contentHeight=100;
        contentSpace.width=contentWidth;
        contentSpace.height=contentHeight;
        //myWaiting.hide(); //hide clock
    }

    public function loadMc(contentFile:String):void {

        var pictLdr:Loader = new Loader();
        var pictURL:String=contentFile;
        var pictURLReq:URLRequest=new URLRequest(pictURL);
        pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoadedF);
        pictLdr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloader);
        pictLdr.load(pictURLReq);
        contentLoadMC.addChild(pictLdr);

    }

    private function imgLoadedF(event:Event):void {
        myTooltip.hide();
        MovieClip(parent.parent).addContentMovie(this);
        MovieClip(parent.parent).refresh();
    }

    private function preloader(event:ProgressEvent):void {
        var pcent:Number=event.bytesLoaded/event.bytesTotal*100;
        myTooltip.show(""+int(pcent));
    }

    public function loadCSS(event:Event):void {
        var CSSloader:URLLoader = new URLLoader();
        var req_css:URLRequest = new URLRequest("example.css");
        CSSloader.load(req_css);
        CSSloader.addEventListener("complete", loadXML);
    }

    public function loadXML(contentFile:String) {
        var XML_URL:String=contentFile;
        var myXMLURL:URLRequest=new URLRequest(XML_URL);
        myLoader=new URLLoader(myXMLURL);
        myLoader.addEventListener("complete", xmlLoaded);
    }

    private function xmlLoaded(event:Event):void {
        myXML=XML(myLoader.data);
        myXML.ignoreWhite = true;

        var sheet:StyleSheet = new StyleSheet();
        sheet.parseCSS(CSSloader.data);
        myHtmlText.styleSheet = sheet;


        myHtmlText.htmlText="HERE" + myXML.pageTop;
        myHtmlText.width=contentWidth-10;
        myHtmlText.height=myHtmlText.textHeight+30;
        myHtmlText.x=10;
        myHtmlText.y=10;
        contentSpace.width=contentWidth;
        contentSpace.height=myHtmlText.height+4;
        myWaiting.hide();
        MovieClip(parent.parent).addContentMovie(this);
        MovieClip(parent.parent).refresh();
        myLoader.removeEventListener("complete", xmlLoaded);

    }

    public function loadContent(contentFile:String) {
        if (contentFile.substr(-3)=="xml") {
            myWaiting.show();//show clock
            loadXML(contentFile);
        } else {
            myTooltip.show("0");
            loadMc(contentFile);
        }
    }
}

} 我尝试将 loadCSS 中的代码添加到 loadXML 和 xmlLoaded,但得到了同样的错误。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

您在函数 loadCSS 中声明了 CSSloader,但您在函数 xmlloaded 中得到了错误,这是一个不同的范围。如果您希望 CSSloader 的作用域适用于所有函数,您必须将其声明为这些函数外部的变量——按照惯例在顶部。 (不幸的是,您省略了这段代码的上下文,但我假设这是在一个类中?)。

关于css - 访问未定义属性 as3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5331718/

相关文章:

css - 我如何告诉 Safari iOS7 不要在滚动时停止 css 动画?

javascript - Bootstrap 开关未在 View 中呈现

actionscript-3 - 我正在寻找一个用于actionscript3的正弦波音频发生器

ios - AS3 iOS 防止 "animated"方向改变

css - css 中的转换是否会由于评估半像素而导致模糊?

html - Div 没有出现在网页上

iphone - 在没有 iTunes/越狱/AppleDev 的情况下在 iOS 上测试 Flash 游戏?

xml - 使用 as3 从 XML 获取属性值

flash - 如何缩放填充而不是Actionscript中的笔划?

javascript - 内容的固定位置,直到父 div 结束