Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не работает импорт (http://www.flasher.ru/forum/showthread.php?t=165643)

fifa_sibir 25.08.2011 10:35

Не работает импорт
 
Здравствуйте. Помогите пожалуйста разобраться с проблемкой. Не получается импортировать один класс в другой:

Код AS3:

package{
        import MyClass;
 
        public class Player extends MovieClip{
 
                public function Player():void {
 
var myclass:MyClass = new MyClass();
var s:Sound = new Sound(new URLRequest(myclass.soundtrack)); //здесь не может прочитать переменную soundtrack с другого класса


goodguy 25.08.2011 10:37

а причем тут импорт?
Корневые классы импортировать не нужно, а если он не корневой, то нужно указать путь к нему полностью

Marcus 25.08.2011 11:19

Переменная public,internal ?
Или покажите код MyClass

toFL 25.08.2011 11:21

Цитата:

myclass.soundtrack
Код ошибки пожалуйста.

fifa_sibir 25.08.2011 11:50

Цитата:

Сообщение от Marcus (Сообщение 1025284)
Переменная public,internal ?
Или покажите код MyClass

Код AS3:

package{
        import flash.display.MovieClip;
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.net.URLLoader;
 
        public class MyClass extends MovieClip{
                public function MyClass():void{
 
 
var loader:URLLoader = new URLLoader(new URLRequest("playlist.xml"));
loader.addEventListener(Event.COMPLETE, whenLoader);
var myXML:XML = new XML();
var arrayT:Array = [];
 
function whenLoader(e:Event):void{  //********
        myXML = XML(loader.data);
    trace(myXML);
for(var i:int=0; i<myXML.t.length(); i++){
  arrayT.push(myXML.t[i]);
  }
    trace(arrayT[2]);
 
        } //**********
 
var soundtrack:String = new String();
for(var i:int=0; i<myXML.t.length(); i++){
arrayT[i] = this.player[i];
soundtrack = arrayT[i];
}

Код ошибки - 1119 Обращение возможно неопределенного свойства soundtrack через ссылку со статическим типом MyClass

toFL 25.08.2011 11:59

Код AS3:

package{
        import flash.display.MovieClip;
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.net.URLLoader;
 
        public class MyClass extends MovieClip
        {
                public var soundtrack:String;
 
                public function MyClass():void
                {
                        var loader:URLLoader = new URLLoader(new URLRequest("playlist.xml"));
                        loader.addEventListener(Event.COMPLETE, whenLoader);
                        var myXML:XML = new XML();
                        var arrayT:Array = [];
                }
 
                function whenLoader(e:Event):void
                {
                        myXML = XML(loader.data);
                        trace(myXML);
                        for(var i:int=0; i<myXML.t.length(); i++)
                        {
                                  arrayT.push(myXML.t[i]);
                          }
 
                        trace(arrayT[2]);
 
                        for(var i:int=0; i<myXML.t.length(); i++)
                        {
                                arrayT[i] = this.player[i];
                                soundtrack = arrayT[i];
                        }
                }
        }
}


fifa_sibir 25.08.2011 12:19

toFL, все равно почему то не работает... я новичок в AS3, но может это как-то связано с get и set методами?

toFL 25.08.2011 12:56

Цитата:

может это как-то связано с get и set методами?
Покажите свои set/get методы.

fifa_sibir 25.08.2011 13:35

В MyClass:
Код AS3:

package{
        //импорт
        public class MyClass extends MovieClip{
 
var soundtrack:String;
function get soundtrackProperty():String{
        return soundtrack;
}
function set soundtrackProperty(setSoundtrack:String):void{
        soundtrack = setSoundtrack;
}
 
                public function MyClass():void{
 
var loader:URLLoader = new URLLoader(new URLRequest("playlist.xml"));
loader.addEventListener(Event.COMPLETE, whenLoader);
var myXML:XML = new XML();
var arrayT:Array = [];
 
function whenLoader(e:Event):void{  //********
        myXML = XML(loader.data);
    trace(myXML);
for(var i:int=0; i<myXML.t.length(); i++){
  arrayT.push(myXML.t[i]);
  arrayT[i] = this.player[i];
  soundtrack = arrayT[i];
  }
    trace(arrayT[2]);         
        } //**********

В классе Player:
Код AS3:

var myclass:MyClass = new MyClass();
var s:Sound = new Sound(new URLRequest(myclass.soundtrackProperty));

Код ошибки-
TypeError: Error #1010: Термин не определен и не имеет свойств.

Так наверно было бы лучше? или я что-то недопонимаю..

КорДум 25.08.2011 13:41

Сделайте их public.


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

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