Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Статьи (http://www.flasher.ru/forum/forumdisplay.php?f=101)
-   -   ActionScript 3 с нуля (http://www.flasher.ru/forum/showthread.php?t=92301)

derhab 22.08.2007 22:40

Цитата:

Сообщение от DRAGOnoid
Код:

var my_xml:XML = new XML(event.target.data);
trace(my_xml.childNodes[0].childNodes[0].nodeValue);

выдаёт тонну ошибок =(

А отуда у класса ХМL childNodes? Это свойсто теперь только у XMLDocument вроде...

Ieshua 24.08.2007 11:14

Цитата:

Сообщение от derhab
А отуда у класса ХМL childNodes? Это свойсто теперь только у XMLDocument вроде...

Все верно, оно теперь только у XMLDocument'а, который наследовал это свойство от XMLNode :away:

DRAGOnoid 27.08.2007 14:04

что то захворал с parenta'ами

создаю два класса которые унаследую от класса Sprite.
в экземпляр одного создаю экземпляр другого, и этот внутренний методом parent пытается вызвать свойство или метод основного экземпляра.

вот код
Код:

package {
        import flash.display.*;

        public class SHkitchenTest extends Sprite {
                public        var testVar:Number;               
                public        var test:Test;
                public function SHkitchenTest() {                       
                        this.testVar = 5;
                        this.test = new Test();
                        addChild (this.test);
                }
        }
}

import flash.display.*;

class Test extends Sprite {
        public function Test():void {
                trace ("!"+parent.testVar);
        }
}

выдаёт ошибку 1119: Access of possibly undefined property testVar through a reference with static type flash.display:DisplayObjectContainer.

что то я шаманил по этому поводу но ничего не получилось, а в хелпе про парент везде писали немного по другому.

помогите пожалуйста разобраться как правильно юзать parent :rolleyes:

etc 27.08.2007 14:13

Ну естесственно, откуда у него parent в момент создания? parent будет только после addChild, а конструктор уже выполнился.

DRAGOnoid 27.08.2007 14:36

эммммм
Код:

package {
        import flash.display.*;

        public class SHkitchenTest extends Sprite {
                public        var testVar:Number;               
                public        var test:Test;
                public function SHkitchenTest() {                       
                        this.testVar = 5;
                        this.test = new Test();
                        addChild (this.test);
                        this.test.test2();
                }
        }
}

import flash.display.*;

class Test extends Sprite {
        public function Test():void {               
        }
        public function test2() {
                trace ("!"+parent.testVar);
        }
}

эффект тот же :(

DRAGOnoid 27.08.2007 15:18

очень странно получилось решить проблему.

просто, незнаю почему, решил кое что подправить и получилось докопаться до переменных основного конструктора:

Код:

package {
        import flash.display.*;
        import flash.system.*;

        public class SHkitchenTest extends Sprite {
                public        var testVar:Number;               
                public        var test:Test;
                public function SHkitchenTest() {                       
                        this.testVar = 5;
                        this.test = new Test();
                        addChild (this.test);
                        trace (this.testVar);
                        this.test.test2();
                }
        }
}

import flash.display.*;

class Test extends Sprite {
        public function Test():void {       
                trace ("Test 1) "+this.parent);
        }
        public function test2() {
                // так не работает
                //trace ("Test 2) "+this.parent.testVar);

                // а так работает
                trace ("Test 2) "+this.parent['testVar']);

        }
}

а чтобы вызвать метод придётся писать так
trace ("Test 2) "+this.parent['testVar']());

вот теперь сижу и гадаю в чём прикол?


:boredom:

etc 27.08.2007 15:26

Потому что parent — DisplayObjectContainer.

DRAGOnoid 27.08.2007 20:04

пытаюсь задействовать
import fl.managers.FocusManager;
но мне выдаётся ошибка
1172: Definition fl.managers:FocusManager could not be found.
что с этим делать?

etc 27.08.2007 20:10

Это во Flash CS3? Собственно, нужно хотя бы один из компонентов CS3 положить в либу.

DRAGOnoid 28.08.2007 12:17

Цитата:

Сообщение от __etc
Это во Flash CS3? Собственно, нужно хотя бы один из компонентов CS3 положить в либу.

на заморских сайтах так же ответили. А собственно что и куда положить то?


Часовой пояс GMT +4, время: 09:40.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.