Форум 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=136097)

goras 09.02.2010 22:52

Вопросы новичка
 
Начал изучать AS3, и никак не пойму почему не работает...

файл fla:
Код AS3:

import examp;
var b:examp=new examp  ;
b.setNames("good bye");
this.addChild(b);

файл examp.as, размещенный в той же папке:
Код AS3:

package {
        import flash.text.*;
        import flash.display.*;
 
        public class examp extends Sprite {
                public function examp() {
                        var f:TextFormat=new TextFormat();
                        f.font="Tahoma";
                        var a:TextField=new TextField ();
                        a.type="dynamic";
                        a.text="Привет";
                        a.textColor=0xff0000;
                        a.border=true;
                        a.background=true;
                        a.backgroundColor=0x00ff00;
                        a.setTextFormat(f);
                        a.autoSize="left";
                        addChild(a);
                        var nameText:String;
                        function setNames(nameText) {
                                a.text=nameText;
                        }
                        setNames("Hellow");
                }
        }
}

Без "b.setNames("good bye");" в fla работает а с ним при компиляции выдает:

1061: Call to a possibly undefined method setNames through a reference with static type examp.

С AS2 знаком...

imdogma 09.02.2010 22:54

Эм, а где у вас setNames функция то? В классе что вы привели ее как бы и нет

udaaff 09.02.2010 23:20

Код AS1/AS2:

var b:Examp = new Examp();
b.setNames("good bye");
this.addChild(b);

Код AS3:

package 
{
 
        import flash.text.*;
        import flash.display.*;
 
        public class Examp extends Sprite
        {
 
                public function Examp()
                {
                        super();
 
                        var f:TextFormat = new TextFormat();
                        f.font = "Tahoma";
 
                        a = new TextField();
                        a.type = "dynamic";
                        a.text = "Привет";
                        a.textColor = 0xff0000;
                        a.border = true;
                        a.background = true;
                        a.backgroundColor = 0x00ff00;
                        a.setTextFormat(f);
                        a.defaultTextFormat = f;
                        a.autoSize = TextFieldAutoSize.LEFT;
                        addChild(a);
 
                        setNames("Hellow");
                }
 
                private var a:TextField;
 
                public function setNames(nameText:String):void
                {
                        a.text = nameText;
                }
 
        }
 
}

Цитата:

С AS2 знаком...
Не заметно.

iNils 10.02.2010 00:21

Название темы не раскрывает сути вопроса.


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

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