打印

[AS3] 大家帮忙看下~为什么CSS没被加载......

代码如下:
package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.text.StyleSheet;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    public class myStyle extends Sprite
       {
              public function myStyle():void
              {
                     
                     var myStySt:StyleSheet = new StyleSheet();
                     var re:URLRequest = new URLRequest("myStyle.css");
                     var loader:URLLoader = new URLLoader();
                     loader.load(re);
                     myStySt.parseCSS(loader.data);
                     var tf:TextField = new TextField();
                     tf.wordWrap = true;
                     tf.autoSize = TextFieldAutoSize.LEFT;
                     tf.htmlText = "<h1>adfdaf</h1><p>adfadsfadf<span class='bluetext'>asdfad</span></p>"
                     tf.styleSheet = myStySt;
                     addChild(tf);
              }
       
       }
}

myStyle.css:


p {
    font-family: Times New Roman, Times, _serif;
    font-size: 14;
}

h1 {
    font-family: Arial, Helvetica, _sans;
    font-size: 20;
    font-weight: bold;
}

.bluetext {
    color: #0000CC;
}
找了半天不知哪里出了问题,也没有报错~
等待ING.......自己继续找毛病,大家知道的话要教我啊
自己找出毛病了,如果有跟我遇到同样问题的菜鸟一起看看吧~~
首先,第一个错误
我未加载CSS文件前就添加了htmlText把顺序搞倒了

第二个错误
应该给loader加个事件侦听器
等loader加载完后,触发
myStySt.parseCSS(loader.data);
tf.styleSheet = myStySt;
tf.htmlText = "<h1>adfdaf</h1><p>adfadsfadf<span class='bluetext'>asdfad</span></p>";
addChild(tf);

原因大概是loader的动作完成前
myStySt.parseCSS(loader.data);
是粘贴不进去的...我不是很专业,自己瞎猜
哎......自学真是辛酸那

[ 本帖最后由 iorolima 于 2008-6-23 22:18 编辑 ]

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
自己的猜想被证实~

与早期版本 ActionScript 中的 XML 和 LoadVars 类非常相似,URLLoader URL 的数据在下载完成之前不可用。尽管如果文件加载速度太快,可能不会调度 ProgressEvent.PROGRESS 事件,但您可以通过侦听要调度的 flash.events.ProgressEvent.PROGRESS 事件来监视下载进度(已加载的字节数和总字节数)。成功下载文件后,将调度 flash.events.Event.COMPLETE 事件。加载的数据将从 UTF-8 或 UTF-16 编码被解码为字符串。

TOP