|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2007
Сообщений: 30
|
Проблема с обращением к child объекта из слушателя этого объекта
вобщемто все видно из кода
package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.text.*; public class Trash extends MovieClip { public var mc1:Sprite = new Sprite(); public var txt:TextField; public function Trash():void { mc1.graphics.beginFill(0x000000); mc1.graphics.drawRect(150,50,50,50); mc1.graphics.endFill(); addChild(mc1); txt = new TextField(); txt.multiline = true; txt.wordWrap = true; txt.width = 100; txt.height = 100; txt.x=50; txt.y =150; txt.text = "ewwwwwwwwwwwwwwwwwwwwwwwwwwewew ew ew ew ewew ewe we wewewefkdsgf ksgkjfsgn kjlhks kjfs fslkgn kjgkj sfkjg fdkjbzcnvfnvlknfslkvgnlksnglksnglksnglslkjndlsnflksmk mswkk skfdfsfkdsmfkdsjrieahrirutrwhfnbsvbjdhfkjlsahfewjiwjrfijfsdfkljdsflkjdsfkjdskfjdskfjdksjfkdsjflkdsjfkldsjflkjdskfjdsncncmznm,n3ruweporuewirue33333333333333333333333333333333jjrerjekrjkejreiiii99999999999999999999999o"; mc1.addChild(txt); mc1.addEventListener(MouseEvent.CLICK,click1); } public function click1(e:Event):void { //trace(mc1.getChildAt(0)); // работает, выводит [object TextField] //trace(mc1.getChildAt(0).numLines); //Ошибка Acces of possibly undefined property numLines a reference with static type flash.display:DisplayObject //trace(mc1.txt);//Ошибка Acces of possibly undefined property txt a reference with static type flash.display:Sprite //trace(e.target.getChildAt(0).numLines); // работает, вывод 25 //trace(e.target.txt); // Ошибка Не удалось найти свойство txt в flash.display.Sprite; отсутствует значение по умолчанию } } } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Не видно. Что вы хотите?
|
|
|||||
у вас нет свойства txt внутри mc1. вы его объявляете там же где и mc1.
trace(txt);
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
Регистрация: Feb 2007
Сообщений: 30
|
txt потомок mc1. Если я обращаюсь к нему из функции листенера mc1.getChildAt(0) тогда правильно выводит ТекстФилд, а если я пытаюсь получить количество строк откудато берется ошибка?
Изначально задача была такая. При нажатии на мс1 запускается Листенер MOUSE_MOVE, который выдает количество строк в txt. Если листенер запускать на мс1 то он не работает если мышь выходит за его пределы. Значит листенер нужна задавать на stage но как тогда получить количество строк в txt? package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.text.*; public class Trash extends MovieClip { public var mc1:Sprite = new Sprite(); public var txt:TextField; public function Trash():void { mc1.graphics.beginFill(0x000000); mc1.graphics.drawRect(150,50,50,50); mc1.graphics.endFill(); addChild(mc1); txt = new TextField(); txt.multiline = true; txt.wordWrap = true; txt.width = 100; txt.height = 100; txt.x=50; txt.y =150; txt.name="txt"; txt.text = "ewwwwwwwwwwwwwwwwwwwwwwwwwwewew ew ew ew ewew ewe we wewewefkdsgf ksgkjfsgn kjlhks kjfs fslkgn kjgkj sfkjg fdkjbzcnvfnvlknfslkvgnlksnglksnglksnglslkjndlsnflksmk mswkk skfdfsfkdsmfkdsjrieahrirutrwhfnbsvbjdhfkjlsahfewjiwjrfijfsdfkljdsflkjdsfkjdskfjdskfjdksjfkdsjflkdsjfkldsjflkjdskfjdsncncmznm,n3ruweporuewirue33333333333333333333333333333333jjrerjekrjkejreiiii99999999999999999999999o"; mc1.addChild(txt); mc1.addEventListener(MouseEvent.MOUSE_DOWN,click1); } public function click1(e:Event):void { //stage.addEventListener(MouseEvent.MOUSE_MOVE,stageMov); e.target.addEventListener(MouseEvent.MOUSE_MOVE,mc1Mov); } /*public function stageMov(e:MouseEvent):void { trace(mc1.getChildAt(0).numLines); }*/ public function mc1Mov(e:MouseEvent):void { trace(e.target.getChildAt(0).numLines); } } } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Возвращаемый объект по getChildAt нужно кастить к соответствующему типу, в данном случае, к TextField. Но зачем такие извращения, если изначально есть txt?
|
|
|||||
Регистрация: Feb 2007
Сообщений: 30
|
Ето маленькая часть всего проекта, у меня само txt в другом классе и вообще с неизвестным именем, я так сократил чтобы тут никого не запаривать и выразить суть проблемы
|
Часовой пояс GMT +4, время: 16:08. |
|
« Предыдущая тема | Следующая тема » |
|
|