Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отображение переменной в class,e (http://www.flasher.ru/forum/showthread.php?t=197461)

WinSTOP 07.04.2013 21:05

Отображение переменной в class,e
 
Вообщем есть class - Tmain
Код AS3:

package  {
        import flash.display.MovieClip;
 
        public class Tmain extends MovieClip {
 
        public var _main:Number = 5;
 
                public function Tmain() {
                }
 
        }
 
}

1) как отобразить эту переменную на сцене? _main.text = _main (так не работает)
2) как изменить значение переменной из другого класса?

chamele0n 07.04.2013 21:13

о господи )
Создаешь экземплятор класа и вперед
Код AS3:

var m:Tmain = new Tmain();
trace(m._main); // 5
m._main++;
trace(m._main); // 6


WinSTOP 07.04.2013 21:17

Да нет текст должен быть на сцене.

chamele0n 07.04.2013 21:28

TextField тебе в помощь

WinSTOP 07.04.2013 21:35

что не правильно?
Код AS3:

package  {
        import flash.display.MovieClip;
 
        public class Tmain extends MovieClip
        {
        public var _main:Number = 5;
                public var _text:TextField = new TextField();
                _text.text = _main;
                public function Tmain()
                {
        _text.text = _main;
                }
 
        }
 
}


chamele0n 07.04.2013 21:37

както так
Код AS3:

package  {
        import flash.display.MovieClip;
          import flash.text.TextField;
        public class Tmain extends MovieClip
        {
        public var _main:Number = 5;
                public var _text:TextField = new TextField();
                public function Tmain()
                {
        addChild(_text);
        _text.text = String(_main);
                }
 
        }
 
}


iflamberg 07.04.2013 21:38

Ну, для начала, было бы не плохо добавить созданное текстовое поле в список отображения:
Код AS3:

package  {
        import flash.display.MovieClip;
 
        public class Tmain extends MovieClip
        {
        public var _main:Number = 5;
                public var _text:TextField = new TextField();
                public function Tmain()
                {
        _text.text = _main;
        addChild (_text);
                }
 
        }
 
}

Если сам Tmain не является document class, то не забудьте добавить его самого на экран.

WinSTOP 07.04.2013 21:44

огромное спасибо. я только понял о классах щас затрудняет вот это import flash.display.MovieClip
import flash.text.TextField; не знаю когда надо когда не надо писать. Мож совет дадите как определить что надо писать это.

iflamberg 07.04.2013 21:54

Это указание компилятору, что, класс TextField нужно искать в пакете flash.display.TextField. А то, можент быть вы написали свой собвственный me.VasyaPupkin.TextField и хотите использовать его. Я об этом импорте забыл, мой код не должен компилироватся, по идее.
Писать его надо всегда. Компилятор вам подскажет если вы импорт забыли: дескать, не знаю я что это за класс, где его искать? Но если код в кадре пишется то некоторые импорты из стандартного набора можно опустить, компилятор "догадается". Но вы создали файл класса, здесь нельзя их не писать.

WinSTOP 07.04.2013 21:59

iflamberg, спасибо) к стати так и не услышал про второй вопрос. как изменить переменную из другого класса?
вот как делаю я
Код AS3:

        public var m:Tmain = new Tmain();
        m._main.Number = 0;

не работает.


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

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