2012-01-01 2 views
0

В настоящее время я пытаюсь добавить полученный XML (xmlResult) в текстовое поле, находящееся на сцене. Я попытался использовать MovieClip (root). [Instancename] .text = ..... однако это не сработало - ссылка на нулевой объект? Какие-либо предложения? Благодаря!Объект этапа доступа (текстовое поле) в пользовательском классе

package { 

public class ChatHistory extends MovieClip { 

    public function ChatHistory() 
    { 
     //constructor 
    } 
    public function getChatText() { 
      var loader:URLLoader = new URLLoader(); 
      loader.addEventListener(Event.COMPLETE, requestComplete); 
      var requestURL:URLRequest = new URLRequest("http://localhost:80/chathistory.xml"); 
      requestURL.method = URLRequestMethod.GET; 
      loader.load(requestURL); 
    } 

    private function requestComplete(event:Event):void { 
     try { 
     var xmlResult:XML = new XML(event.target.data); 
     trace(xmlResult); 
     } catch (e:TypeError) { 
      trace(e.message); 
     } 
    } 
} 
}  
+0

пример того, что вы пытались мне не понятно, убедитесь, что имя является строкой: 'MovieClip (root). [" instancename "]. text' – Kapep

+0

Я просто использовал [instancename] в качестве владельца места - в коде, который я использовал: MovieClip (ро ot) .textBox.text = ... – Jonathan

+0

Хорошо, я не заметил эту дополнительную точку, поэтому я предположил, что это оператор доступа к массиву. Вы можете попробовать использовать свойство 'stage' вашего мувиклипа, но во многих случаях эта проблема возникает при использовании неправильного имени или при попытке доступа к объектам, таким как они были свойствами сцены, когда они являются только дочерними элементами сцены. – Kapep

ответ

0

Я попробовал это, и она работала, возможно, это может просветить вас:

import flash.text.TextField; 
import ik_fla.MainTimeline; 

TextField(MainTimeline(stage.getChildAt(0)).getChildByName('myTxt')).text = "weeee"; 

или вы можете избежать imports с помощью Object бросание вместо:

Object(Object(stage.getChildAt(0)).getChildByName('myTxt')).text = "weeee"; 
+0

Возможно, здесь немного толще, но для чего нужны импорт? – Jonathan

+0

Я обновлю заявление на импорт в своем последнем сообщении. – Fabricio

+0

Спасибо! Кажется, работает! – Jonathan

Смежные вопросы