首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改UrlLoader.load

更改UrlLoader.load
EN

Stack Overflow用户
提问于 2013-12-20 19:58:12
回答 1查看 340关注 0票数 0
代码语言:javascript
复制
package  {

    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent; 
    import flash.events.TimerEvent;
    import flash.utils.Timer;
    import flash.text.StyleSheet; 
    import flash.text.TextField;
    import flash.text.TextFieldType;
    import flash.text.TextFormat;
    import flash.text.*
    import flash.net.*


    public class SpeechBox extends MovieClip{

        public var textLoader:URLLoader = new URLLoader();
        public var box:Sprite = new Sprite();
        public var nextBox:Sprite = new Sprite();
        private var nextText:TextField = new TextField();
        private var textBox:TextField = new TextField();
        private var speechText:String;
        public var _speechBoxCheck:Timer = new Timer(1000);
        public var clickedNext:Boolean = false;

        public function SpeechBox() 
        {
            textLoader.addEventListener(Event.COMPLETE, onLoaded);
            textBox.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); 
            _speechBoxCheck.addEventListener(TimerEvent.TIMER, speechBoxCheck);
            _speechBoxCheck.start();
            //////////////////SPEECH BOX///////////////////
            box.graphics.lineStyle(3.5,0xffffff);
            box.graphics.beginFill(0x003366, .35);
            box.graphics.drawRoundRect(0,0,650,145,20);
            box.graphics.endFill();
            box.x = 100;
            box.y = 450;
            addChild(box);
            //////////////////SPEECH TEXT///////////////////
            var speechFont = new DataText();
            var textFormat:TextFormat = new TextFormat(); 
            textFormat.font = speechFont.fontName;
            textFormat.align = TextFormatAlign.LEFT;
            textFormat.leading = 3;
            textFormat.color = 0xFFFFFF;
            textFormat.size = 16; 

            textBox.defaultTextFormat = textFormat;
            textBox.width = 620; 
            textBox.height = 115; 
            textBox.x = box.x + 14;
            textBox.y = box.y + 14;
            textBox.multiline = true; 
            textBox.wordWrap = true; 
            textBox.selectable = false;
            addChild(textBox);
            //////////////////NEXT BUTTON///////////////////
            nextBox.graphics.beginFill(0x000000, 0);
            nextBox.graphics.drawRect(0,0,50,30);
            nextBox.graphics.endFill();
            nextBox.x = box.x + 600;
            nextBox.y = box.y + 115;
            nextText.defaultTextFormat = textFormat;
            nextText.text = "Next";
            nextText.textColor = 0xffffff;
            nextText.autoSize = "left";
            nextText.selectable = false;
            nextText.mouseEnabled = false;
            nextText.x = nextBox.x + 2
            nextText.y = nextBox.y + 5
            nextBox.buttonMode = true;
            //nextBox.mouseEnabled = true;

            nextBox.addEventListener(MouseEvent.MOUSE_DOWN, clickNext);
            nextBox.addEventListener(MouseEvent.MOUSE_OVER, moveOver);
            nextBox.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
        }
        function onLoaded(e:Event):void {
            trace(e.target.data);
            textBox.text = e.target.data;
        }
        function mouseDownScroll(event:MouseEvent):void 
        { 
           textBox.scrollV+=4; 
           textBox.addEventListener(MouseEvent.MOUSE_UP,mouseup);
        } 
        function mouseup(event:MouseEvent):void 
        { 
            if(textBox.scrollV == textBox.maxScrollV) 
            {
                addChild(nextBox);
                addChild(nextText);
            }
        }
        function clickNext(event:MouseEvent):void 
        { 
            trace("click");
            clickedNext = true;
            _speechBoxCheck.stop();
            (parent as Main).onTransition.start();
            textBox.scrollV = 0;
            textLoader.removeEventListener(Event.COMPLETE, onLoaded);
            this.parent.removeChild(this);
        }
        function moveOver(event:MouseEvent):void 
        {
            nextText.textColor = 0xffcc00;
        }
        function moveOut(event:MouseEvent):void 
        {
            nextText.textColor = 0xffffff;
        }
        ///////////////////////////////////////////////////////////////
        function speechBoxCheck(event:TimerEvent)
        {
            if ((parent as Main).introduction == true)
            {
                textLoader.load(new URLRequest("Texts/LV1introduction.txt"));
                trace("beginning");
                (parent as Main).onTransition.stop();
            }
            if ((parent as Main).levelNum == 1)
            {
                textLoader.load(new URLRequest("Texts/LV1complete.txt"));
                trace("go to lv 2")
                (parent as Main).onTransition.stop();
            }
            if ((parent as Main).levelNum == 2)
            {
                textLoader.load(new URLRequest("Texts/LV2complete.txt"));
                trace("go to lv 3")
                (parent as Main).onTransition.stop();
            }
        }

    }

}

编辑:当游戏开始,LV1介绍文字开始。一旦scrollV等于maxScrollV,就会出现下一个按钮。点击那个,它就会删除自己,游戏就开始了。一旦击败了第一阶段,levelNum自动等于2,我将再次从主文档类中添加这个类。然而,它将一遍又一遍地显示相同的文本,而不管级别如何。

那么,urlLoader总是保持不变吗?如果是的话,我怎样才能改变它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-20 23:16:19

可以重用URLLoader来用新的URLRequest实例加载另一个数据。重用同一个URLLoader实例来加载另一个文件是完全可以的。您的问题不是在URLLoader中,而是在逻辑或其他地方。您最好尝试调试器以确保变量级别有正确的值为2。

  1. 为什么你每秒钟都要加载文本文件?加载它们时只更改级别是可以的。
  2. 这个textLoader实例是否附加了事件侦听器?

*编辑:

  1. 您正在从textLoader中删除clickNext()调用中的事件侦听器。textLoader将加载文件,但不会运行onLoaded()来更新textBox.text
  2. 您的speechBoxCheck()方法做错了。1.必须在speechBox()方法中只调用一个load()。方法中的条件不是排他性的,当执行多个load()调用时(以前的加载操作将被取消),可能会造成问题。考虑一下“否则如果”链。
  3. 不建议以这种方式加载文件。应该避免不必要的I/O操作,特别是在运行时。只有在需要时才加载文件;在这种情况下,是在级别更改时加载的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20711057

复制
相关文章

相似问题

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